MySQL数据库(一)

文章

1.1 数据库基本概念

1.数据

描述事物的符号记录数据(Data)数字,文字,图形,图像,声音记录的都是数据。

在数据库中,数据是以"记录"的形式按照统一的格式进行存储的,而不是杂乱无章的。相同格式和类型的数据统一存放在一起,而不会把"人"和"书混在一起存储。这样,数据的存储就能够井然有序

2.数据库和数据库表

不同的记录组织在一起,就形成了数据库(Database,DB)的"表"(Tab。也可 以说,表是用来存储具体数据的,如图1.1所示。那么数据库和le)表存在什么关系呢?简单地说,数据库就是表的集合。它是以一定的组织方式存储的相互有关的数据集合。例如,关系数据库的表由记录组成,记录由字段组成,字段由字符或数字组成。它可以供各种用户共享,具有最小冗余度和较高的数据独立性,它是统一管理的相关数据的集合。通常,数据库并不是简单地存储这些数据的,还要表示它们之间的关系。例如,书和人是存在联系的,书的作者可能就是某个人,因此需要建立书与人的"关系"。这种关系也需要用数据库来表示,因此关系的描述也是数据库的一部分

3.数据库管理系统和数据库系统

数据库管理系统 (Database Management System,DBMS)是实现对数据库资源有效组织、管理和存取的系统软件。它在操作系统的支持下,支持用户对数据库的各项操作

数据库系统(Database System,DBS) 是一个人-机系统,一般由硬件、操作系统、数 据库、DBMS、应用软件和数据库用户(包括数据库管理员)组成。用户可以通过 DBMS 操作 数据库,也可以通过应用程序操作数据库

数据库管理员 (Database Administrator,DBA)负责数据库的更新和备份、数据库系 统的维护、用户管理等工作,保证数据库系统的正常运行。DBA一般由业务水平较高、资历 较深的人员担任。需要注意的是数据库、数据库系统、数据库管理系统,甚至数据库表等名词,在日常讨 论中通常不严格区别。遇到此情况时,可以根据具体情况,判断出实际所指的是什么

1.1.2数据库发展史

1.数据库发展史

数据库技术的发展已经成为先进信息技术的重要组成部分,是现代计算机信息系统和计算机应用系统的基础和核心。数据库技术最初产生于20世纪60年代中期,根据数据模型的发展,可以划分为三个阶段:第一代的网状、层次数据库系统;第二代的关系数据库系统;第三代的以面向对象模型为主要特征的数据库系统

现在常用的数据库有DB2 DB2

②中级阶段-第二代数据库

20 世纪 70 年代初,第二代数据库--关系数据库开始出现。自 1970年IBM 研究员德加·考特阐述了关系模型的概念后,IBM 大力投入关系数据库的研究。关系数据库的底层实现起来比较容易,所以很快被采用,并进入了众多商业数据库的研发计划。0racle 就是当 时应关系数据模型的出现而成立的一家专做(关系)数据库的公司。20世纪80年代初,IBM公司的关系数据库系统DB2 问世,而 0racle 公司也将 0racle 数据库移植到桌面计算机上。 这时,作为第二代数据库系统的关系数据库,开始逐步取代层次与网状模型的数据库,成为 占主导地位的数据库,成为行业主流。到目前为止,关系数据库系统仍占领数据库应用的主 要地位

关系数据库系统将结构化查询语言

③高级阶段-第三代数据库

由于计算机应用的发展,计算机已从传统的科学计算、事务处理等领域,逐步扩展到工程设计、人工智能、多媒体、分布式等领域,这些新的领域需要有新的数据库支撑,而传统关系数据库系统是以商业应用、事务处理为背景而发展起来的,并不完全适用于新领域的应用,因此,需要新的数据库系统,以满足不同领域的要求。自20世纪 80年代开始,各种适应不同领域的新型数据库系统不断涌现,如工程数据库、多媒体数据库、图形数据库、智能数据库、分布式数据库及面向对象数据库等,特别是面向对象数据库系统,由于其实用性强、适应面广而受到人们的青睐。20世纪 90年代后期,形成了多种数据库系统共同支撑应用的局面。当然,在商务应用方面,依然还是关系数据库占主流。不过,已经有一些新的元素被添加进主流商务数据库系统中。例如,0racle支持的"关系-对象 "数据库模型。
随着科学技术的发展,计算机技术不断应用到各行各业。数据存储需求的不断膨胀,对未来的数据库技术将会有更高的要求

2.经典数据模型

数据是现实世界中"量 "的抽象,而数据模型(Data Model)是数据特征的抽象。在数据库系统中,数据模型是它的核心与基础。数据模型表现为数据的结构、定义在其上的操作及约束条件。它从概念层次上描述了系统的静态特征、动态特征和约束条件,为数据库系统的信息表示与操作提供了一个抽象框架。
在 DBMS 的发展过程中,出现了网状模型、层次模型和关系模型三种经典的数据模型。 由于受限于数学基础、编程技术和硬件条件,最初出现的层次模型和网状模型与关系模型相 比,在用户接口的上、中层部分更易于实现。所以,这在很长一段时间阻碍了关系模型的发展。
数据模型所描述的内容包括三方面:数据结构、数据操作和数据约束。下面简单介绍三种经典数据模型

①关系模型 "关系型数据库"

①数据结构

关系模型建立在关系代数的理论基础上,数据结构使用简单易的二维数据表,可以用简单的"实体-关系 "(E-R)图来直接表示,E-R 图中包含了实体(数据对象)、关系和属性三个要素。如图1.6 表示了银行客户和银行账户之间的关系

②数据操作

对于数据库的用户而言,关系模型使用从关系代数上抽象出来的数据库操作语言(DML) 进行操作。结构化查询语言(SQL)就是其中最重要的一种,已经成为关系数据库的标准操
作语言。它的特色是直接面向结果,简化操作步骤,使得数据库应用的设计变得非常简单易慌。

③数据约束

关系模型的数据约束可以针对实体,也可以针对实体的属性,还可以针对关系,并可以在定义实体、实体属性和关系时全面实现。关系模型使用的数据定义语言(DDL)和关系模型在理论上对关系数据库核心实现的要求,使得数据约束可以很容易实现,但是它的效率并不高。
综合来说,关系模型相比网状模型和层次模型有更为坚实和完整的理论基础。相比层次模型和网状模型而言,关系模型与用户更靠近些,而网状模型和层次模型与底层实现的结合更紧密。这样的特色也更容易让关系模型成为商业数据库的选择

3.当今主流数据库

(1)关系数据库

①SQL Server

② MySQL

③DB2

④ Oracle

(二)非关系型数据库

非关系数据库也被称作 NoSQL(Not 0nly SQL),存储数据不以关系模型为依据,不需要 固定的表格式。非关系型数据库作为关系数据库的一个补充,在日益快速发展的网站时代,发挥着高效率与高性能

2.主键与外键

①主键

数据表中的每行记录都必须是唯一的,而不允许出现完全相同的记录,通过定义主键(主 关键字,Primary Key)可以保证记录(实体)的唯一性。
键,即关键字,它是关系模型中一个非常重要的元素。
主键唯一标识表中的行数据,一个主键值对应一行数据。主键由一个或多个字段组成, 其值具有唯一性,不允许取空值(NULL)。一个表只能有一个主键。
如果一个属性集能唯一地标识表的一行而又不含有多余的属性,那么这个属性集称为候 选键。表中可以有多个候选键,但是只能有一个候选键可以选作表的主键,所有其他候选键 称为备用键。

②外键

一个关系数据库通常包含多个表,通过外键(Foreign Key)可以使这些表关联起来。
外键是用于建立和加强两个表数据之间的链接的一列或多列。通过将表中主键值的一列或多列添加到另一个表中,可创建两个表之间的链接。这个列就称为第二个表的
外键。

1.2 MyQSL服务基础

1.二进制安装

MySQL 的安装方式除了常规的源码编译安装之外,最常用的还包括 YUM 方式安装和二进 制方式安装。二进制安装方式中,包括 rpm 版本以及 glibc 版本。rpm 版本就是在特定 Linux 版本下编译的,如果你的 Linux 版本匹配,就可以安装。如下载 Cent0s7 系统所对应编译好 的 rpm 包安装即可。另外一种二进制安装包是基于特定的 glibc 版本编译的,这里主要讲解 基于 glibc 方式安装MySQL

1. 基础环境准备

安装基础软件包编译环境和工具包等

安装mysql依赖包头库文件

创建程序用户

关闭防火墙和安全机制

2.二进制安装

二进制安装的版本采用跟上面编译安装的版本一样 MySQL 8.0.36。首先需要下载该软 件包或者提前上传,然后再解压进行配置。

初始化数据库

此次初始化没有采用无密码模式,因此会生成初始随机密码,需要保存,用以后续登录 mysq1 数据库使用

*写入到环境变量中

*

3.systemctl启动mysql

将MySQL添加成为系统服务,通过使用systemctl来管理在/usr/local/mysql/support-files目录下找到mysql.server文件,将其复制 到/etc/rc.d/init.d 目录下,改名为 mysqld 并赋予可执行权限。

4.登录Mysql

修改密码后查看一些有哪些数据库

alter userroot'@'localhost'IDENTIFIED WITH mysql native password BY'pwd123'😕/单引号内为新密码

相关推荐
Rm3 小时前
在 CentOS 7 上安装 MySQL 5.7 并使用 systemd 管理服务的自动化脚本
mysql·centos
菠萝013 小时前
分布式CAP理论
数据库·c++·分布式·后端
国际云3 小时前
腾讯云国际站性能调优
运维·服务器·数据库·云计算·腾讯云
ruanjiananquan993 小时前
MySQL 数据库调优指南:提升性能的全面策略
数据库·mysql·oracle
熙曦Sakura5 小时前
【MySQL】C语言连接
c语言·mysql·adb
乖乖der5 小时前
python同步mysql数据
开发语言·python·mysql
liyongjie5 小时前
openEuler安装MySql8(tar包模式)
mysql
深栈6 小时前
MySQL进阶篇(存储引擎、索引、视图、SQL性能优化、存储过程、触发器、锁)
sql·mysql·性能优化
睡觉z7 小时前
MySQL数据库初体验
数据库·mysql·oracle
CC同学呀8 小时前
从0到1:多医院陪诊小程序开发笔记(上)
数据库·笔记