1.1 基本概念
1、关系型数据库
关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。
2、关键词
关系:行和列交叉组成的二维表格;
元组:表中的行;
属性 :表中的列;属性名:列名;域:列的取值范围;
主键/复合主键:唯一标识表中不同行的属性/属性组。
3、E-R模型
设计关系型数据库时,需要先建立逻辑模型。
关系型数据库的逻辑模型,通过实体和关系组成的图来表示,即E-R图。
标准的E-R模型组成有:实体、属性、联系 。
实体 :
一般认为,客观上可以相互区分的事务就是实体,可以是具体的人、物,也可以是抽象的概念与联系。
用矩形表示,框内写实体名。
属性:
实体所具有的某些特性,属性不能脱离实体。* 联系也可能有属性。
用椭圆形表示,圆内写属性名,再用无向边将属性与实体连接。
联系:
也称关系,是信息世界中反映实体内部或实体之间的关联。
用菱形表示,框内写联系名,再用无向边分别与实体连接,同时在无向边上标注联系类型。
联系类型有:一对一(1:1);一对多(1:n);多对多(m:n)。
举例:学生选修课程
4、关系型数据库的设计范式
规范化是指把数据库组织成在保持存储数据完整性的同时最小化冗余数据的结构的过程。
规范化的数据库必须符合关系模型的范式规则。范式可以防止在使用数据库时出现不一致的数据,并防止数据丢失。理想的设计目标是按照“规范化”原则存储数据,因为这样能够消除数据冗余、更新异常、插入异常、删除异常。
通常数据库只要满足前3个范式就足够使用了。除第一范式(1NF)、第二范式(2NF)、第三范式(3NF),还有4NF、5NF、6NF、BCNF等。
第一范式:
最基本的范式,是对关系模式的基本要求,不满足第一范式的数据库就不是关系型数据库。1NF具有以下原则:
数据组的每个属性只可以包含一个值;
关系中的每个数组必须包含相同数量的值;
关系中的每个数组一定不能相同。
如果数据表中的列信息都符合第一范式,那么在数据表中的字段都是单一的、不可再分的。
第二范式:
建立在第一范式的基础上。2NF要求:
数据库表中的每个实体必须可以被唯一的区分;
实体的属性完全依赖于主关键字。
区分各行的唯一标识,这个唯一属性可以被称为主关键字或主键。
第三范式:
建立在第二范式的基础上。3NF要求:
关系表不存在非关键字对任何候选关键字列的传递函数依赖。
即一个表中不能包含已在其他表中包含的信息(关键字除外)。传递函数依赖,就是指,如存在关键字段A,决定非关键字段B,而B决定非关键字段C,则称非关键字段C传递函数依赖于关键字段A。