数据库原理与应用第2版 蔡延光第9章 关系数据库理论_2版

上传人:E**** 文档编号:89115912 上传时间:2019-05-18 格式:PPT 页数:118 大小:999.50KB
返回 下载 相关 举报
数据库原理与应用第2版 蔡延光第9章 关系数据库理论_2版_第1页
第1页 / 共118页
数据库原理与应用第2版 蔡延光第9章 关系数据库理论_2版_第2页
第2页 / 共118页
数据库原理与应用第2版 蔡延光第9章 关系数据库理论_2版_第3页
第3页 / 共118页
数据库原理与应用第2版 蔡延光第9章 关系数据库理论_2版_第4页
第4页 / 共118页
数据库原理与应用第2版 蔡延光第9章 关系数据库理论_2版_第5页
第5页 / 共118页
点击查看更多>>
资源描述

《数据库原理与应用第2版 蔡延光第9章 关系数据库理论_2版》由会员分享,可在线阅读,更多相关《数据库原理与应用第2版 蔡延光第9章 关系数据库理论_2版(118页珍藏版)》请在金锄头文库上搜索。

1、第9章 关系数据库理论,9.1 关系模式的规范化理论概述,关系数据库设计的核心是关系模式的设计。在设计关系模式时,必须考虑以下几个问题: 应该构造几个关系?每个关系由哪些属性组成? 关系模式中的所有关系应该满足哪些约束条件?如何体现这些约束条件? 评价关系模型好坏的依据是什么?如何将不好的关系模型改进为好的关系模型? 上述这些问题都可以从关系数据库设计理论中找到答案。,9.1.1 关系模式规范化的必要性,例9-1 学生-课程-教师关系如表9-1所示,其中包含学生、课程和教师实体的属性有:学号、课程号、成绩、教师姓名、职称等。,9.1.1 关系模式规范化的必要性,分析表9-1, 可以发现上述关系

2、中存在许多问题。 数据冗余 同一信息重复出现。例如,教师的姓名、职称和所在系等信息重复出现,如果有100个学生选修张三丰老师的课,那么张三丰老师的相关信息要出现100次。 更新异常 对学生-课程-教师关系中的记录进行修改可能出现数据不一致的情况。例如,把第二个记录中属性职称的值改为教授,就会出现李丽萍老师的职称不一致的问题,除非把李丽萍老师的所有职称都改为同一值。 插入异常 某些信息无法正常插入。例如,课程C5由王路耀老师担任,但在还不知道哪些学生选修前,无法将王路耀老师的记录插入关系中。因为,在学生-课程-教师关系中(学号,课程号)是主码,当学号不确定时,根据关系模型的实体完整性规则,不允许

3、主码为空值,因此不能插入该记录。 删除异常 某些信息被意外删除。例如,如果要删除某门课程的所有成绩,则会将教这门课的教师信息也删掉。例如,若要删除C4的记录,结果会丢失赵新朋老师的有关信息。显然,这是不希望发生的事情。,9.1.1 关系模式规范化的必要性,如果将学生-课程-教师关系分解为表9-2a所示的学生-课程、表9-2b所示的课程-教师和表9-2c所示的教师三个关系,则上述的4个异常问题就基本解决了。,9.1.2 关系模式规范化的概念,例9-1将学生-课程-教师关系分解为学生-课程、课程-教师和教师3个关系的过程就是关系模式规范化的过程。,9.2 函数依赖及范式,9.2.1 属性间的联系

4、1. 一对一联系 设X、Y是关系R的两个属性(集)。 如果对于X中的任一具体值,Y中至多有一个值与之对应,且反之亦然,则称X、Y两属性间是一对一联系,记为1:1。 在表9-1所示的学生-课程-教师关系中,课程号和课程名称之间就是一对一的联系,一个课程号唯一地决定一门课程名称,而一门课程名称只有唯一的一个课程号与之对应。,9.2.1 属性间的联系,2. 一对多联系 如果对于X中的任一具体值,Y中至多有一个值与之对应,而Y中的一个值却可以和X中的n个值(n0)相对应,则称Y对X是一对多联系,记为1:n。 在表9-1所示的学生-课程-教师关系中,教师和职称之间就是一对多的联系,一个教师只能有一个职称

5、,而同一个职称可能对应多个教师。同理,(学号,课程号)与成绩之间,教师与所在系之间,都是一对多的联系。,3. 多对多联系 如果对于X中的任一具体值,Y中有m(m0)个值与之对应,而Y中的一个值也可以和X中的n个值(n0)相对应,则称Y对X是多对多关系,记为m :n。 在表9-1所示的学生-课程-教师关系中,学号和课程号之间就是多对多联系,一个学生可以选修多门课程,而一个课程也可以同时被多个学生选修。,9.2.1 属性间的联系,9.2.2 函数依赖,1. 函数依赖 用U表示属性集的全集A1,A2,.,An,设R(U)是属性集U上的关系模式。X,Y是U的子集。若对于R(U)的所有具体关系r都满足如

6、下约束: 对于X的每一个具体值,Y有唯一的具体值与之对应,则称Y函数依赖于X,或X函数决定Y,记作XY,X称作决定因素。,例9-2 设有读者-图书-借书关系如表9-3所示,其中(读者号,书号)是候选码。,9.2.2 函数依赖,表9-3中各属性之间的联系如下:,2. 平凡函数依赖与非平凡函数依赖 如果XY,并且Y不是X的子集,则称XY是非平凡函数依赖。如果XY,且Y是X的子集,则称XY是平凡函数依赖。 例9-2中的所有函数依赖都是非平凡函数依赖。,3. 完全函数依赖与部分函数依赖 设XY是关系模式R(U)的一个函数依赖,如果存在X的真子集X,使得XY成立,则称Y部分依赖于X,记作X Y。否则,称

7、Y完全依赖于X,记作X Y。 在例9-2中,只有非主属性“借出日期”完全函数依赖于候选码(读者号,书号),即(读者号,书号)借出日期,而其他非主属性都是部分函数依赖于主码。,4. 传递函数依赖 在同一关系模式R(U)中,如果存在非平凡函数依赖XY,YZ而Y X,则称Z传递依赖于X。 在例9-2中,存在函数依赖:读者号单位,单位地址。根据传递函数依赖的定义,可知读者号地址是传递函数依赖。,9.2.3 第一范式(1NF),定义9-1 在关系模式R(U)中的每一个具体关系r中,如果每个属性值都是不可再分的最小数据单位,则称R(U)是第一范式的关系,记为R(U)lNF。 例9-2中的读者-图书-借书关

8、系是满足1NF的 .,9.2.4 第二范式(2NF),定义9-2 如果关系模式R(U)中的所有非主属性都完全函数依赖于主码,则称R(U)是第二范式的关系,记为R(U)2NF。,从图9-1可以发现,例9-2中的读者-图书-借书关系不满足2NF,因为其非主属性“姓名”、“单位”、“地址”、“书名”都没有完全函数依赖于候选码(读者号,书号)。作如图9-2所示的投影运算,就可将其分解为2NF的关系。,9.2.5 第三范式(3NF),定义9-3 如果关系模式R(U)中的所有非主属性对主码不存在传递函数依赖,则称R(U)是第三范式的关系,记为R(U)3NF。 3NF是一个可用的关系模式应该满足的最低范式。

9、,3NF是一个可用的关系模式应该满足的最低范式。例9-2中的读者-图书-借书关系经过1NF,2NF和3NF的规范化后,就得到一个可用的关系模式,并包含4个关系:读者(读者号,姓名,单位名称),单位(单位名称,地址),图书(书号,书名),借书(读者号,书号,借出日期)。,满足3NF的关系就是一个可用的关系。但是,满足3NF的关系仍有可能存在缺陷,因为3NF只限制了非主属性对码的依赖关系,而没有限制码属性对码的依赖关系。,9.2.6 Boyce Codd范式,例9-3 有教务关系(学号,教工号,课程号),其中(学号,教工号)和(学号,课程号)为候选码,且具有下列的函数依赖关系:每位老师只教授一门课

10、,即教工号课程号。某学生选定一位老师,就对应一门课,即(学号,教工号)课程号。某学生选定一门课,就对应一位老师,即(学号,课程号)教工号。 (学号,教工号)和(学号,课程号)两个候选码相交,有公共的属性学号。教务关系中不存在非主属性,也就不可能存在非主属性对码的部分依赖或传递依赖,所以教务关系3NF。但是,这个教务关系仍然存在许多问题: 插入异常:如果没有学生选修某位教师的任课,则该教师担任课程的信息就无法插入; 删除异常:删除学生选课信息,会删除相关教师的任课信息; 修改复杂:如果教师所教授的课程有所改动,则所有选修该教师课程的学生信息都要做改动; 数据冗余:每位学生都存储了有关教师所教授的

11、课程的信息。 所以,仍需要进一步做规范化处理。这就需要用到BCNF范式。,定义9-4 如果关系模式R(U)中的所有属性都不传递函数依赖于R(U)的任何主码,则称R(U)是BCNF的关系。记为R(U)BCNF。 BCNF 是Boyce Codd范式的缩写。 与其等价的定义是,关系模式R(U)中,如果每个决定因素都包含主码(而不是被主码所包含),则R(U)BCNF。BCNF是对3NF的修正。在函数依赖的范畴内,BCNF能够完全消除一个关系模式中的数据插入和删除异常。,在例9-3中,教务关系之所以出现问题就是因为决定因素被主码包含:教工号课程号中教工号是决定因素,但又被包含在候选主码(学号,教工号)

12、中。所以不满足BCNF。如果将教务关系分解为教学(学号,教工号)和教课(教工号,课程号)两个关系,那么这两个新关系就都满足BCNF。,9.3 多值依赖及范式,9.3.1 多值依赖的定义和性质 1. 多值依赖的定义 在关系模式R(U)中,X,Y,ZU且X+Y+Z=U。如果对R(U)中的任一关系r,给定一对(x,z)值,有一组Y的值,并且这组值仅由x值决定而与z值无关,那么关系模式R(U)中存在多值依赖XY。如果此时Z为空集(即 ),则XY被称为平凡多值依赖。,例9-4 设有满足BCNF的关系模式超市-助理-电话(超市名称,助理姓名,超市电话),其中一家超市可能有多个助理,并且有多个电话号码,此时

13、,就有如表9-4所示的关系。,在表9-4中,U=超市名称,助理姓名,超市电话,X=超市名称,Y=助理姓名,Z=超市电话,且X+Y+Z=U,存在多值依赖:超市名称助理姓名和超市名称超市电话。根据平凡多值依赖的定义,本例中的两个多值依赖都是非平凡多值依赖。,2. 多值依赖的性质 1)多值依赖具有对称性:若XY,则XZ,其中ZUXY。多值依赖的对称性可以从例9-4中的两个多值依赖反映出来。 2)多值依赖具有传递性:若XY,YZ, 则XZY。 3)函数依赖可以看作是多值依赖的特殊情况:若XY,则XY。这是因为当XY时,对X的每一个值x,Y有一个确定的值y与之对应,所以XY。 4)若XY,XZ,则XY

14、Z 5)若XY,XZ,则XYZ 6)若XY,XZ,则XYZ,XZY,9.3.2 第四范式(4NF),定义9-5 关系模式R(U)lNF, 如果对于R的每个非平凡多值依赖XY(YX),X都含有码,则称R(U)4NF。 4NF限制关系模式的属性之间不允许有非平凡且非函数依赖的多值依赖。因为根据定义,对于每一个非平凡的多值依赖XY,X都含有候选码,于是就有XY,所以4NF所允许的非平凡的多值依赖实际上是函数依赖。,在例9-4中,关系模式超市-助理-电话的候选码为(超市名称,助理姓名,超市电话),而X=超市名称,即X不包含码,所以不满足4NF。将超市-助理-电话解为超市-助理(超市名称,助理姓名)和超

15、市-电话(超市名称,超市电话)两个关系。在超市-助理关系中,超市名称助理姓名,助理姓名不是超市名称的子集,而且超市名称是超市-助理关系的候选码,所以超市-助理关系满足4NF。同理,超市-电话关系也满足4NF。,9.4 连接依赖及范式,设R、R1、Rn是关系模式,U、U1、Un分别是R、R1、Rn的属性集合,而且U = U1Un。如果R的任意关系实例r满足: 则称R满足连接依赖,记作: 其中 是自然连接符号。 此时,如果某个Ui=U,则称该连接依赖是平凡连接依赖。,9.4.1 连接依赖的定义,例9-5 设有满足4NF的销售关系如表9-5所示,其中销售员代表汽车生产商(即单位),负责销售该生产商生

16、产的汽车产品。,表9-5可以由表9-6所示的三个关系完全重建,即 因此销售关系中存在连接依赖。,9.4.2 第五范式(5NF),定义9-6 如果关系模式R(U)中的每一个连接依赖都是由R的候选码所蕴含, 则称R(U)5NF。,在例9-5中,销售关系的候选码是(销售员,单位,产品名称),销售关系的连接依赖: 都不由销售的候选码所蕴含,所以销售关系不满足5NF。但是,销售关系分解后的R1,R2和R3这三个关系都满足5NF。,9.4.3 小结,关系模式规范化的基本思想如图9-3所示,关系模式的规范化会带来以下好处: 由于关系中的各个数据项都是一个简单的数或符号串,故可以方便地进行存取。 由于模式的分解,可以简化检索操作,故加快了检索速率。 可消除对数据进行插入、修改和删除时的相互牵扯,便于保持数

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号