第一章 数据库简介
1.1 简介
数据库(
DataBase
,
DB
):指长期保存在计算机的存储设备上,按照一定规则组织起来,可以被各种用户或应用共享的数据集合。
数据库管理系统(
DataBase Management System
,
DBMS
):指一种操作和管理数据库的大型软
件,用于建立、使用和维护数据库,对数据库进行统一管理和控制,以保证数据库的安全性和完整性。用户通过数据库管理系统访问数据库中的数据。
数据库软件应该为
数据库管理系统
,数据库是通过数据库管理系统创建和操作的。
数据库:存储、维护和管理数据的集合。
1.2 常见数据库管理系统
- Oracle
:
Oracle
数据库被认为是业界目前比较成功的关系型数据库管理系统。
Oracle
数据库可以运行在UNIX
、
Windows
等主流操作系统平台,完全支持所有的工业标准,并获得最高级别的
ISO
标准安全性认证。
- MySQL
:
MySQL
是一个关系型数据库管理系统,由瑞典
MySQL AB
公司开发,目前属于
Oracle
旗下产品。MySQL
是最流行的关系型数据库管理系统之一,在
WEB
应用方面,
MySQL
是最好的
RDBMS(Relational Database Management System,关系数据库管理系统
)
应用软件。
- DB2
:
DB2
是
IBM
公司的产品,
DB2
数据库系统采用多进程多线索体系结构,其功能足以满足大中公司的需要,并可灵活地服务于中小型电子商务解决方案。
- Microsoft SQL Server
:
SQL Server
是
Microsoft
公司推出的关系型数据库管理系统。具有使用方便可伸缩性好与相关软件集成程度高等优点。
1.3 三大范式(规范)
什么是三大范式:
第一范式:
无重复的列。
当关系模式
R
的所有属性都不能在分解为更基本的数据单位时,称
R
是满足第一范式的,简记为1NF
。满足第一范式是关系模式规范化的最低要求,否则,将有很多基本操作在这样的关系模式中实现不了。
第二范式:
属性完全依赖于主键
[
消除部分子函数依赖
]
。
如果关系模式
R
满足第一范式,并且
R
得所有非主属性都完全依赖于R
的每一个候选关键属性,称
R
满足第二范式,简记为
2NF
。第二范式(
2NF
)是在第一范式(1NF
)的基础上建立起来的,即满足第二范式(
2NF
)必须先满足第一范式(
1NF
)。
第
二范式(
2NF
)要求数据库表中的每个实例或行必须可以被唯一地区分
。为实现区分通常需要为表加上一个列,以存储各个实例的唯一标识。这个唯一属性列被称为主关键字或主键、主码。
第三范式:
属性不依赖于其它非主属性
[
消除传递依赖
]
。
设
R
是一个满足第一范式条件的关系模式,
X是R
的任意属性集,如果
X
非传递依赖于
R
的任意一个候选关键字,称
R
满足第三范式,简记为
3NF.
满足第三范式(3NF
)必须先满足第二范式(
2NF
)。
第三范式(
3NF
)要求一个数据库表中不包含已在其
它表中已包含的非主关键字信息。
注:关系实质上是一张二维表,其中每一行是一个元组,每一列是一个属性
第二范式(
2NF
)和第三范式(
3NF
)的概念很容易混淆,区分它们的关键点在于,
2NF
:非主键列是
否完全依赖于主键,还是依赖于主键的一部分;
3NF
:非主键列是直接依赖于主键,还是直接依赖于非
主键列。
1.4 MySQL安装和卸载
1.4.1 安装
步骤
1:
访问地址
:
https://dev.mysql.com/downloads/mysql/
步骤
2:
下载压缩包
下载后解压,放在非
C
盘下,文件夹改名
mysql
将解压文件夹下的
bin
路径添加到变量值中,前后以
;
开头结尾
步骤
3:
在
mysql
文件夹下找到
my.ini
或
my-default.ini
,如果没有
.ini
结尾的文件
,
直接创建该文件。新增内容为如下,注意basedir
和
datadir
是我自己的路径位置,自定义。记得新增一个文件
Data
文件夹
[mysqld]# 设置 3306 端口port=3306# 设置 mysql 的安装目录basedir=D:\Program Files\mysql# 设置 mysql 数据库的数据的存放目录datadir=D:\Program Files\mysql\data# 允许最大连接数max_connections=200# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统max_connect_errors=10# 服务端使用的字符集默认为 UTF8character-set-server=utf8# 创建新表时将使用的默认存储引擎default-storage-engine=INNODB# 默认使用 “mysql_native_password” 插件认证default_authentication_plugin=mysql_native_password[mysql]# 设置 mysql 客户端默认字符集default-character-set=utf8[client]# 设置 mysql 客户端连接服务端时默认使用的端口port=3306default-character-set=utf8
步骤
4:
安装
mysql
在
mysql
的安装目录中,打开
bin
文件夹,运行
cmd.
执行初始化数据库的指令:
mysqld --initialize --console
root
用户的初始化密码
:
要是你不小心关掉
cmd
,或者没记住,那也没事,删掉初始化的
datadir
目录,再执行一遍初始化命令,又会重新生成的。
步骤
5:
安装服务
在
MySQL
安装目录的
bin
目录下执行命令:
mysqld --install [服务名] 这里的服务名默认是mysql,可以自定义
如果提示上述错误,需要关闭
cmd,
重新打开,使用管理员身份执行
安装完成之后
通过命令
net start mysql8
启动
MySQL
的服务了。
通过命令
net stop mysql8
停止服务。
注意
:
安装时,卸载其他版本的
mysql
数据库
步骤
6:
链接数据库
修改账户密码
:
alter user 'root'@'localhost' identified with mysql_native_password BY ' 新密码 ';
示例
:
alter user 'root'@'localhost' identified with mysql_native_password BY '123456';
修改密码,注意命令尾的分号一定要有,这是
mysql
的语法
退出数据库
:
1.4.2 卸载
步骤
1:
使用管理员身份运行
cmd,
关闭
mysql
服务
步骤