数据库系统
第六周小结
2023-3-27~2023-4-2
第十一讲–数据库设计之设计过程
1.数据库设计的四个过程
2.概念数据库设计的消除冲突
属性冲突,包括属性域的冲突(属性的类型、取值范围不同,例如不同学校的学号编码方式不同)、属性取值单位冲突(例如重量分别用不同的单位);
结构冲突,包括同一对象在不同应用中的抽象不同(例如职工在某应用中是实体,在其他应用抽象为属性)、同一实体在不同E-R图中属性组成不同、实体间的联系在不同E-R图呈现不同的类型;
命名冲突,包括同名异义、异名同义(砼一意义的对象有不同的名字);
3.绘制不同层级的E-R图/IDEF1X图,实体级图(不包括属性)、键级图(有主键)、完整图(包括非主键的属性);
4.E-R图向关系模式的转换
(1)E-R图的实体转换为关系、属性转换为关系的属性、关键字转换为关系的关键字;
(2)将每个分量属性作为复合属性所在实体的属性/复合属性本身作为所在实体的属性,例如学生(学号,姓名,年,月,日)或(学号,出生日期,姓名)
(3)将多值属性与所在实体的关键字组成一个新的关系,例如学生(学号,姓名)和选课(学号,课程号)
(4)一对一联系,均为部分参与(0…1),则联系定义为新的关系,属性为参与双反的关键字属性,若一方全部参与,则联系另一方的关键字为全部参与一方关系的属性;
(5)一对多联系,将单方参与实体的关键字作为多方参与实体对应关系的属性;
(6)多对多联系,将联系定义为新的关系,属性为参与双方实体的关键字;
(7)弱实体的转换,所对应关系的关键字由弱实体本身的区分属性+依赖的强实体的关键字构成,例如产品(产品名,价格,公司名);
(8)泛化与具体化实体的转换,泛化实体和具体化实体分别转为不同的关系,具体化实体所对应的关系包括泛化实体的关键字;若泛化实体至少属于一个具体化实体(具体化完全),则不需要建立泛化实体的关系;
(9)多元联系的转换
5.IDEF1X图向关系模式的转换
只需转换实体为关系,联系无需转换;
分类联系处理同E-R图的泛化、具体化处理相同;
复合属性、多值属性和E-R图的处理相同;
6.非受控冗余问题,例如,学生表有班主任、班主任职称等属性,当学生的班主任相同时,其职称必定相同;
受控冗余,例如,引入班主任表,班级为主键、为学生表的外键,学生表只保留班级属性;
第十二讲–数据库设计之函数依赖及其公理定理
1.函数依赖:
设R(U)是属性集合U={A1,A2,…,An}上的一个关系模式,X和Y是U上的两个子集,若对R(U)的任意一个可能的关系r,r中不可能有两个元组满足在X中的属性值相等而在Y中的属性值不等,则“X函数决定Y”或“Y函数依赖于X”,记作X→Y;
例如,U={学号,姓名,年龄,班号,班长,课号,成绩}
学号→{姓名,年龄}、班号→班长、{学号,课号}→成绩;
2.函数依赖的特性
3.部分函数依赖和完全函数依赖
4.传递函数依赖
5.候选键
6.外来建
若R(U)中的属性或属性组合X并非R的候选键,但X是另一关系的候选键,则X为R的外来键,简称外键;
7.逻辑蕴涵
8.闭包
被F逻辑蕴涵的所有函数依赖集合成为F的闭包,记作F+(+在右上角);
若F+=F,则说F是一个全函数依赖族(函数依赖完备集);
9.Armstrong公理
设R(U)是属性集U={A1,A2,…,An}上的一个关系模式,F为R(U)的一组函数依赖,记为R(U,F),则有如下规则成立:
10.引理
11.属性集闭包
12.定理–Armstrong Axiom A1,A2,A3是有效、完备的;
13.覆盖,对于R(U)上的两个函数依赖集合F、G,若F+=G+,则F和G是等价的,F覆盖G或G覆盖F;
14.属性闭包的计算算法
15.最小覆盖
16.关系范式
(1)1NF–消除了复合属性、多值属性及其组合
若关系模式R(U)中关系的每个分量都是不可分的数值项(值、原子),则R(U)属于第一范式,记为R(U)∈1NF;(不具有复合属性)
例如Star(name,address(street,city))不属于第一范式,可将其进行拆分,Star(name,address)或者Star(name,street,city);
(2)2NF–消除非主属性对候选键的部分传递依赖
若R(U)∈1NF且U中的每一个非主属性完全函数依赖于候选键,则称R(U)属于第二范式,记为R(U)∈2NF;(非主属性不能由候选键的某一部分决定)
例如R(Snum,Sname,SClass,Cnum,Grade)∉2NF,因为候选键为{Snum,Cnum},但是Sname完全函数依赖于Snum;
(3)3NF–消除非主属性对候选键的传递依赖
(4)BCNF
(5)多值依赖
(6)多值依赖的Armstrong’s xioms A4~A8
(7)4NF–消除非主属性对候选键以外属性的多值依赖
(包含候选键的任意属性集为超键)
(8)W4NF