关系数据理论课件.ppt
《关系数据理论课件.ppt》由会员分享,可在线阅读,更多相关《关系数据理论课件.ppt(82页珍藏版)》请在三一办公上搜索。
1、4.1 函数依赖,4.2 关系模式的规范化,4.3 数据依赖公理,4.4 关系模式的分解,第4章 关系数据理论,本章小结,4.1 函数依赖,一、问题如何构造一个关系模式例:假设有学生关系模式,其中,S#学号、SNAME学生姓名、CLASS班级、C#课程号、TNAME教师姓名、TAGE教师年龄、ADDRESS教师地址、GRADE成绩。,S(S#,SNAME,CLASS,C#,TNAME,TAGE,ADDRESS,GRADE),关系S存在以下问题:1数据冗余度高。SNAME、CLASS、TNAME、TAGE、ADDRESS重复存储多次。,4.1函数依赖,2数据修改复杂。3插入异常。插入异常是指应该
2、插入到数据库中的数据不能执行插入操作的情形。,关系S的主键:,(S#,C#),从在S#、C#、和(S#,c#)上出现NULL值去分析。注意:当一个元组在主键的属性上部分或全部为空时,该元组不能插入到关系中。,4.1函数依赖,4删除异常。删除异常是指不应该删去的数据被删去的情形。例如:选修某门课的所有学生都退选时,删除相关元组,会丢失该课程老师的信息。解决:关系模式分解(关系规范化)分解为 ST(S#,SNAME,CLASS)CT(C#,TNAME)TA(TNAME,TAGE,ADDRESS)SC(S#,C#,GRADE),4.1函数依赖,二、函数依赖functional dependency,
3、abbr.FD,设:R(A1,A2,An)=R(U)X,Y,Z 为U的不同子集,定义4.1:函数依赖 是完整性约束的一种,它推广了关键词的概念。If t1.X=t2.X,then t1.Y=t2.Y 函数依赖:若R的任意关系有:对X中的每个属性值,在Y中都有惟一的值与之对应,则称Y函数依赖于X,记作 XY。,属性全集,4.1函数依赖,例:指出下列关系R中的函数依赖。,FD:AB-C、AC、CA、ABD?Insert into R values(a1,b1,c2,d1)FD=key constraint?,4.1函数依赖,函数依赖与属性间的关系有:若X,Y是1 1关系,则存在 XY或Y X。如学
4、号与借书证号若X,Y是m 1关系,则存在 XY但 Y+X。如学号与姓名 若X,Y是m n关系,则X,Y间不存在函数依赖关系。如姓名与课程CF:实体间的联系NOTE:函数依赖的方向性,4.1函数依赖,例 试指出学生关系S(S#,SNAME,CLASS,C#,TNAME,TAGE,ADDRESS,GRADE)中存在的函数依赖关系。S#SNAME(每个学号只能有一个学生姓名)S#CLASS(每个学号只能有一个班级)C#TNAME(设每门课程只有一个教师任教,而一个教师可教多门课程,见CT表)TNAMETAGE(每个教师只能有一个年龄)TNAMEADDRESS(每个教师只能有一个地址)(S#,C#)G
5、RADE(每个学生学习一门课只能有一个成绩)(S#,C#)SNAME、(S#,C#)CLASS、(S#,C#)C#、(S#,C#)TNAME、(S#,C#)TAGE、(S#,C#)ADDRESS,4.1函数依赖,三、函数依赖的分类XY,但Y 不包含于 X则称X是非平凡的函数依赖。XY,但Y X 则称X是平凡的函数依赖。若XY,则X叫做决定因素。若XY,Y X,则记作:XY。定义4.2:在R(U)中,X,Y,Z为U的不同子集。完全函数依赖:是指 XY,且对任何X的真子集X,都有X+Y,记作:X F Y。部分函数依赖:是指XY,且存在X的真子集X,有X-Y,记作:X P Y。,定义4.3:在R(U
6、)中传递函数依赖:是指若XY(Y 不包含于 X),Y+X,而Y Z。记作:X T Z。,4.1函数依赖,左部为单属性的函数依赖一定是完全函数依赖。左部为多属性的函数依赖,如何判断其是否为完全函数依赖?方法:取真子集,看其能否决定右部属性。例:试指出学生关系S中存在的完全函数依赖和部分函数依赖。S#SNAME,S#CLASS,TNAMETAGE,TNAMEADDRESS,C#TNAME都是完全函数依赖。(S#,C#)GRADE 是一个完全函数依赖,因为S#+GRADE,C#+GRADE。,4.1函数依赖,例:试指出学生关系S中存在的传递函数依赖。解:因为C#TNAME,TNAME+C#,TNAM
7、ETAGE,所以C#TAGE 是一个传递函数依赖。类似地,C#ADDRESS也是一个传递函数依赖。,(S#,C#)SNAME,(S#,C#)CLASS,(S#,C#)TNAME,(S#,C#)TAGE,(S#,C#)ADDRESS都是部分函数依赖,因为S#SNAME,S#CLASS,C#TNAME,C#TAGE,C#ADDRESS。,4.1函数依赖,四、候选键 用函数依赖的概念来定义键。定义4.4:设X为R中的属性或属性组合,若 X F U 则X为R的候选键。说明:X F U X-U X能决定整个元组 X+U X中无多余的属性,术语:主键主属性:侯选键中的属性非主属性全键:整个属性组为键 例:
8、R(顾客,商品,日期),4.1函数依赖,例:试指出下列关系R中的侯选键、主属性和非主属性。,解:关系R的侯选键为:A,(D,E)关系R的主属性为:A,D,E 关系R的非主属性:无,函数依赖判断:A-D?D-A?AD-E?候选键判断:A-ADE?AD-ADE?,4.1函数依赖,例1.R(A,B,C,D),F=A-B,A-C,AB-D解:由 AB-A(自反律)和 A-C(已知)得:AB-C(传递律)又因为 AB-A(自反律),AB-B(自反律)和 AB-D(已知)得:AB-ABCD。AB是R的唯一候选键,同时也是R的主键。,4.1函数依赖,例2.R(A,B,C,D),F=A-B,A-C,A-D,A
9、B-D解:由 A-A(自反律)和 A-B,A-C,A-D(已知)得:A-ABCD 可知 A是R的候选键 AB-ABCD,但由于存在A-ABCD,则AB对ABCD是部分函数依赖,因此AB不能成为候选键。A是R的唯一候选键,A是主键。,4.2 关系模式的规范化,一、关系与范式关系的规范化是将一个低级范式的关系模式,通过关系模式的分解转换为若干个高级范式的过程。关系模式分解的目的:去冗余、满足约束。关系模式的冗余性问题。例R(A,B,C),无任何约束可导致冗余,若规定FD:A-B,则冗余可利用FD预测到。约束条件通过函数的多值依赖和连接依赖及范式完成。,4.2 关系模式的规范化,二、第一范式:1NF
10、定义4.5:若R的每个分量都是不可分的数据项,则R1NF。从型上看:不存在嵌套结构 从值上看,不存在重复组 1NF是关系模式的最低要求。例:学生关系S(S#,SNAME,CLASS,C#,TNAME,TAGE,ADDRESS,GRADE)是1NF关系,但它存在数据冗余,插入异常和删除异常等问题。,4.2 关系模式的规范化,三、第二范式:2NF 定义4.6 若R1NF,且R中的每一个非主属性都完全函数依赖于R的任一候选键,则R2NF。例:学生关系S(S#,SNAME,CLASS,C#,TNAME,TAGE,ADDRESS,GRADE),判断R是否为2NF?侯选键为(S#,C#),非主属性有:SN
11、AME,CLASS,TNAME,TAGE,ADDRESS,GRADE(S#,C#)SNAME,S#SNAME(S#,C#)P SNAME S2NF(每一个非主属性!)。,4.2 关系模式的规范化,分解为2NF的方法:破坏部分依赖的条件。将满足部分函数依赖和满足完全函数依赖的属性分解到不同的关系中。对上例,考察非主属性和侯选键之间的函数依赖关系:(S#,C#)P SNAME,(S#,C#)P CLASS,(S#,C#)P TNAME,(S#,C#)P TAGE,(S#,C#)P ADDRESS,(S#,C#)F GRADE 区分出完全依赖和部分依赖,若是部分依赖,标记出其中的主属性。,4.2 关
12、系模式的规范化,关系S分解为三个关系:ST(S#,SNAME,CLASS)(只依赖S#的属性分解到一个子模式中)CTA(C#,TNAME,TAGE,ADDRESS)(只依赖C#的属性分解到另一个子模式中)SC(S#,C#,GRADE)(完全函数依赖于候选键的属性分解到第三个子模式中)分解后,关系ST、CTA和SC都为2NF。结论1:若关系R的侯选键是单属性的,则R必定是2NF。,4.2 关系模式的规范化,达到2NF的关系仍然可能存在问题。例如,在关系CTA中还存在以下问题:(1)数据冗余。一个教师承担多门课程时,教师的姓名、年龄、地址要重复存储。(2)修改复杂。一个教师更换地址时,必须修改相关
13、的多个元组。(3)插入异常。一个新教师报到,需将其有关数据插入到CTA关系中,但该教师暂时还未承担任何教学任务,则因缺键C#值而不能进行插入操作。(4)删除异常。删除某门课程时,会丢失该课程任课教师的姓名、年龄和地址信息。,4.2 关系模式的规范化,四、第三范式:3NF定义4.7 如果关系R的任意一个非主属性都不传递函数依赖于它的任意一个候选键,则R3NF。关系CTA(C#,TNAME,TAGE,ADDRESS)是2NF,但不是3NF。候选键:C#,非主属性:TNAME、TAGE、ADDRESS。由于C#TNAME,TNAME+C#,TNAMETAGE,所以 C#T TAGE,同样有C#T A
14、DDRESS,即存在非主属性对候选键的传递函数依赖。,关系模式R(A,B,C,D),键为AB,给出它的一个函数依赖集,使得R属于2NF而不属于3NF,4.2 关系模式的规范化,分解为3NF的方法:破坏传递依赖的条件。将涉及传递函数依赖中的两个依赖中的属性分解到不同的关系中。例:CTA中,两个传递依赖C#T TAGE,C#T ADDRESS C#TNAME,TNAME+C#,TNAMETAGE。C#TNAME,TNAME+C#,TNAMEADDRESS。将CTA分解为:CT(C#,TNAME)TA(TNAME,TAGE,ADDRESS)则关系CT和TA都是3NF,关系CTA中存在的问题得到了解决
15、。,4.2 关系模式的规范化,定理4.1 一个3NF的关系必定是 2NF。(3NF传递函数依赖,2NF完全函数依赖。)证明:用反证法。设R3NF,但R2NF,则R中必有非主属性A、侯选键X和X的真子集X存在,使得XA。X是侯选键X的真子集,有X-X;A是非主属性,A-X,A-X,这样A、X、X是U的不同子集。X是侯选键X的真子集,则有XX 且 X+X,联合反证假设XA可知存在传递依赖(XX,X+X,XA)R不是3NF,与题设矛盾。,4.2 关系模式的规范化,通过转为2NF消除了部分依赖,通过转为3NF消除了传递依赖,问题:达到3NF的关系是否仍然存在问题?例:每一教师只教一门课。每门课由若干教
16、师教,某一学生选定某门课,就确定了一个固定的教师。某个学生选修某个教师的课就确定了所选课的名称:,4.2 关系模式的规范化,解:关系SCT的侯选键:(S#,CNAME)和(S#,TNAME)非主属性:无(SCT至少是一个3NF关系)结论2:若关系R的所有属性都是主属性,则R必定是3NF。,候选键判断:S#-S#CNAME TNAME.取左部的相同值,判断右部。,4.2 关系模式的规范化,在3NF关系SCT中存在:插入异常。例如,一个新课程和任课教师的数据,在没有学生选课时不能插入数据库。删除异常。例如,删除某门课的所有选课记录,会丢失课程与教师的数据。达到3NF的关系仍然可能存在问题。,4.2
17、 关系模式的规范化,五、BCNF 定义4.8 关系模式R1NF。若函数依赖集合F中的所有函数依赖XY(Y不包含于X)的左部都包含R的任一侯选键,则RBCNF。换言之,BCNF中的所有依赖的左部都必须包含候选键。例:关系SCT是否BCNF?因为TNAMECNAME,其左部未包含该关系的任一侯选键,所以它不是BCNF。解决:BCNF分解。,4.2 关系模式的规范化,分解为BCNF的方法:消除不包含关系。1.假设R(U)不是BCNF,X是R的属性子集,A是R的单个属性,X-A是导致违反BCNF的函数依赖,则将R分解为R-A 以及 XA。2.若R-A以及 XA 仍然不是BCNF,则在R-A 以及 XA
18、递归地执行上述分解。例 SCT:(S#,CNAME,TNAME),FD:TNAMECNAME。可分解为SC(S#,TNAME)和CT(CNAME,TNAME),它们都是BCNF。,4.2 关系模式的规范化,定理4.2:一个BCNF的关系必定是3NF。(3NF:任意的非主属性都不传递依赖于任意一个候选键。)证明:用反证法。设R是一个BCNF,但不是3NF,则必存在一个非主属性A和候选键X以及属性集Y,使得A传递依赖于X,即XY(Y不包含于X),Y+X,YA。这就是说Y不包含R的候选键,但YA却成立。根据BCNF定义可知,R不是BCNF,与题设矛盾。结论3:任何的二元关系必定是BCNF。,4.2
19、关系模式的规范化,3NF下仍然存在插入异常和删除异常,原因在于可能存在主属性对候选键的部分函数依赖和传递函数依赖。一个模式中的关系模式如果都属于BCNF,则在函数依赖的范畴内实现了彻底的分离,已消除了插入和删除的异常。其它问题?,4.2 关系模式的规范化,六、第四范式:4NF定义4.10 若R 1NF,D是R上的依赖集,如果对于任何一个多值依赖XY(Y-X,XY没有包含R的全部属性),X都包含了R的一个候选关键词,则R4NF。4NF必定是BCNF,但BCNF不一定是4NF。,5种范式的关系:,4.2 关系模式的规范化,1NF,非规范化的关系,2NF,3NF,4NF,BCNF,范式的转换关系:,
20、1NF,2NF,3NF,BCNF,4NF,4.2 关系模式的规范化,关系的规范化是将一个低级范式的关系模式,通过关系模式的分解转换为若干个高级范式的过程。范式的转换过程是通过分析和消除属性间的数据依赖关系来实现的。属性可分为键和非主属性。2NF,3NF考察非主属性和键的关系,BCNF考察主属性和键的关系。属性间的依赖关系包括函数依赖和多值依赖。1NF,2NF,3NF,BCNF考察了函数依赖关系;4NF考察了多值依赖。,4.3 数据依赖公理,1.阿氏公理定义4.13 设F是关系模式R的函数依赖集,X、Y是R的属性子集,如果从F的函数依赖中能够推出XY,则称F逻辑蕴涵XY。在R 中为F所逻辑蕴含的
21、函数依赖全体叫F的闭包,记为:F+。F+=F;F中推出的非平凡的函数依赖;平凡的函数依赖:A-、A-A、AB-A.例:有关系模式R(A,B,C),它的函依赖集F=AB,BC,计算F的闭包。,4.3 数据依赖公理,Armstrong公理(阿氏公理):对R 有:A1自反律:若YX,则XY。A2增广律:若XY,则XZYZ。A3传递律:若XY、YZ,则XZ。Note:XY与YX的次序无关。,4.3 数据依赖公理,证:设s,t是r的任意两个元组,r是R的任意一个关系。A1自反律:若YX,则XY。若sx=tx,则在s和t中的x的任何子集也必相等。YX,sy=ty XY。A2增广律:若XY,则XZYZ。若s
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 关系 数据 理论 课件
链接地址:https://www.31ppt.com/p-3805866.html