关系数据库规范化理论培训资料

上传人:沈*** 文档编号:133965969 上传时间:2022-08-11 格式:PPTX 页数:70 大小:410.49KB
收藏 版权申诉 举报 下载
关系数据库规范化理论培训资料_第1页
第1页 / 共70页
关系数据库规范化理论培训资料_第2页
第2页 / 共70页
关系数据库规范化理论培训资料_第3页
第3页 / 共70页
资源描述:

《关系数据库规范化理论培训资料》由会员分享,可在线阅读,更多相关《关系数据库规范化理论培训资料(70页珍藏版)》请在装配图网上搜索。

1、邸书灵邸书灵信息科学与技术学院信息科学与技术学院 计算机系计算机系2010-11-17数数 据据 库库 原原 理理 Theory of Database问题的提出问题的提出vRe:关系模式:关系模式n五元组:五元组:R(U,D,DOM,F)uR:关系名:关系名uU:组成该关系的属性名集合:组成该关系的属性名集合uD:属性组:属性组U中属性所来自的域中属性所来自的域uDOM:属性向域的映象集合:属性向域的映象集合uF:属性间数据的依赖关系集合:属性间数据的依赖关系集合2Theory of Database 2-问题的提出问题的提出(Cont.)v关系模式关系模式R(U,D,DOM,F)n简化为一

2、个三元组简化为一个三元组 R(U,F)n当且仅当当且仅当U上的一个关系上的一个关系r满足满足F时,时,r称为关系模式称为关系模式R(U,F)的一个关系。的一个关系。3Theory of Database 3-问题的提出问题的提出(Cont.)v例:例:建立一个描述学校教务的数据库,包括:学生的学建立一个描述学校教务的数据库,包括:学生的学号号(Sno)、所在系()、所在系(Sdept)、系主任姓名()、系主任姓名(Mname)、)、课程名(课程名(Cname)、成绩()、成绩(Grade)n建立建立单一的单一的关系模式关系模式:R(U,F)uU Sno,Sdept,Mname,Cname,Gr

3、ade 4Theory of Database 4-问题的提出问题的提出(Cont.)U Sno,Sdept,Mname,Cname,Grade v存在的问题存在的问题n1.数据冗余太大数据冗余太大n2.更新异常(更新异常(Update Anomalies)n3.插入异常(插入异常(Insertion Anomalies)n4.删除异常(删除异常(Deletion Anomalies)5Theory of Database 5-存在的问题存在的问题U Sno,Sdept,Mname,Cname,Grade n问题问题1:数据冗余太大:数据冗余太大u学生所在的系学生所在的系Sdept及其系主任姓

4、名及其系主任姓名Mname多次重多次重复出现。复出现。u系系Sdept及其系主任姓名及其系主任姓名Mname不仅随着每个学生不仅随着每个学生Sno重复出现,而且随着每个学生重复出现,而且随着每个学生Sno选的每门课选的每门课Cname重复出现。重复出现。6Theory of Database 6-存在的问题存在的问题(Cont.)U Sno,Sdept,Mname,Cname,Grade v存在的问题存在的问题n1.数据冗余太大数据冗余太大n2.更新问题(更新问题(Update Anomalies)n3.插入异常(插入异常(Insertion Anomalies)n4.删除异常(删除异常(De

5、letion Anomalies)7Theory of Database 7-存在的问题存在的问题(Cont.)U Sno,Sdept,Mname,Cname,Grade n问题问题2:更新问题(:更新问题(Update Anomalies)u由于数据冗余问题,当更新数据时,需要很高的代价由于数据冗余问题,当更新数据时,需要很高的代价来保证数据库的一致性。来保证数据库的一致性。u如更换系主任后,必须修改与该系学生有关的每一个如更换系主任后,必须修改与该系学生有关的每一个元组中系主任姓名元组中系主任姓名Mname。8Theory of Database 8-存在的问题存在的问题(Cont.)U

6、Sno,Sdept,Mname,Cname,Grade v存在的问题存在的问题n1.数据冗余太大数据冗余太大n2.更新问题(更新问题(Update Anomalies)n3.插入异常(插入异常(Insertion Anomalies)n4.删除异常(删除异常(Deletion Anomalies)9Theory of Database 9-存在的问题存在的问题(Cont.)U Sno,Sdept,Mname,Cname,Grade n问题问题3:插入异常(插入异常(Insertion Anomalies)u如果学号如果学号Sno是码属性,则当一个系新成立但尚无学是码属性,则当一个系新成立但尚无

7、学生时,其系生时,其系Sdept及系主任姓名及系主任姓名Mname就不能保存至就不能保存至数据库中。数据库中。10Theory of Database 10-存在的问题存在的问题(Cont.)U Sno,Sdept,Mname,Cname,Grade v存在的问题存在的问题n1.数据冗余太大数据冗余太大n2.更新问题(更新问题(Update Anomalies)n3.插入异常(插入异常(Insertion Anomalies)n4.删除异常(删除异常(Deletion Anomalies)11Theory of Database 11-存在的问题存在的问题(Cont.)U Sno,Sdept,

8、Mname,Cname,Grade n问题问题4:删除异常(删除异常(Deletion Anomalies)u如果某个系的学生全部毕业了,在删除该系学生信息如果某个系的学生全部毕业了,在删除该系学生信息的同时,该系的同时,该系Sdept及系主任姓名及系主任姓名Mname也被删除了。也被删除了。12Theory of Database 12-总总 结结v结论结论nR(U,F):USno,Sdept,Mname,Cname,Grade不是一个好的模式。不是一个好的模式。n“好好”的模式:的模式:u不会发生插入异常、删除异常、更新异常,不会发生插入异常、删除异常、更新异常,u数据冗余应尽可能少。数据

9、冗余应尽可能少。v原因原因n关系模式不够关系模式不够“规范规范”。13Theory of Database 13-规范化规范化函数依赖函数依赖码码范式(范式(Normal Form)1NF2NF3NFBCNF多值依赖多值依赖4NF14Theory of Database 14-第第7 7章章 关系数据库规范化理论关系数据库规范化理论7.1 函数依赖函数依赖 7.2 关系规范化关系规范化 7.3 关系模式的分解准则关系模式的分解准则 15Theory of Database 15-函数依赖函数依赖(Functional Dependency)v函数依赖函数依赖v平凡平凡函数依赖与函数依赖与非平凡

10、非平凡函数依赖函数依赖v完全完全函数依赖与函数依赖与部分部分函数依赖函数依赖v传递传递函数依赖函数依赖16Theory of Database 16-函数依赖函数依赖(Cont.)v定义:如果有一个关系模式定义:如果有一个关系模式R(A1,A2,An),X 和和Y为为A1,A2,An的子集,那么对于关系的子集,那么对于关系R中的任意中的任意一个一个X值,都只有一个值,都只有一个Y 值与之对应,则称值与之对应,则称X函数函数决定决定Y,或,或Y函数依赖于函数依赖于X。记做:。记做:X Y 17Theory of Database 17-函数依赖函数依赖(Cont.)例:例:Student(Sno

11、,SName,Sdept,Sage)SnoSNameSnoSdeptSnoSage 例:例:SC(Sno,Cno,Grade)(Sno,Cno)Grade18Theory of Database 18-一些术语和符号一些术语和符号v1.如果如果XY,但,但Y不包含于不包含于X,则称,则称XY是是非平非平凡的函数依赖凡的函数依赖。v2.如果如果XY,但,但Y包含于包含于X,则称,则称XY是是平凡的平凡的函数依赖函数依赖。如不作特别说明,我们总是讨论非平凡函数依赖。如不作特别说明,我们总是讨论非平凡函数依赖。v3.如果如果Y不函数依赖于不函数依赖于X,则记作,则记作XY。v4.如果如果XY,则称,

12、则称X为决定因子。为决定因子。v5.如果如果XY,并且,并且YX,则记作,则记作XY。non trivial 非平凡的非平凡的trivial 平凡的平凡的19Theory of Database 19-一些术语和符号一些术语和符号(Cont.)v 6.如果如果XY,并且对于,并且对于X的一个任意真子集的一个任意真子集X 都都有有X Y,则称,则称Y完全函数依赖完全函数依赖于于X,记作:,记作:YXfv 7.如果如果XY(YX)、)、YZ,则称,则称Z传递函数传递函数依赖依赖于于X。记作:。记作:如果如果XY成立,则称成立,则称Y部分函数依赖部分函数依赖于于X,记作:,记作:YXpYXtfull

13、 dependencypartial dependencytransitive dependency20Theory of Database 20-示例示例v例:关系模式:例:关系模式:SC(Sno,Sname,Cno,Credit,Grade)v则函数依赖关系有:则函数依赖关系有:SnoSname(Sno,Cno)Sname(Sno,Cno)Grade21Theory of Database 21-示例示例(Cont.)v例:关系模式:例:关系模式:S(Sno,Sname,Dept,Dept_master)v函数依赖关系有:函数依赖关系有:由于:由于:Sno Dept,Dept Dept_m

14、aster所以有:所以有:Sno Dept_masterSnameSnot22Theory of Database 22-第第7 7章章 关系数据库规范化理论关系数据库规范化理论7.1 函数依赖函数依赖 7.2 关系规范化关系规范化 7.3 关系模式的分解准则关系模式的分解准则 23Theory of Database 23-关系规范化关系规范化 关系模式中的码关系模式中的码 范式范式24Theory of Database 24-关系规范化关系规范化v 关系模式满足不同标准化程度称为满足不同范式。关系模式满足不同标准化程度称为满足不同范式。v 1971-1972年年E.F.Codd系统提出了

15、系统提出了1NF、2NF、3NF。后来。后来又和他人一起提出了又和他人一起提出了BCNF、4NF、5NF。v 范式的种类:范式的种类:第一范式第一范式(1NF)第二范式第二范式(2NF)第三范式第三范式(3NF)BC范式范式(BCNF)第四范式第四范式(4NF)第五范式第五范式(5NF)25Theory of Database 25-范式范式v各种范式之间存在联系:各种范式之间存在联系:v某一关系模式某一关系模式R为第为第n范式,可简记为范式,可简记为RnNF。v一个一个低一级低一级范式的关系模式,通过范式的关系模式,通过模式分解模式分解可以可以转换为若干个转换为若干个高一级高一级范式的关系模

16、式的集合,这范式的关系模式的集合,这种过程就叫种过程就叫规范化。规范化。NF5NF4BCNFNF3NF2NF126Theory of Database 26-第一范式:第一范式:1NFv1NF的定义的定义v 如果一个关系模式如果一个关系模式R的所有属性都是的所有属性都是不可分的基本数据项不可分的基本数据项,则则R1NF。v 第一范式是对关系模式的最起码的要求。不满足第一范式第一范式是对关系模式的最起码的要求。不满足第一范式的数据库模式不能称为关系数据库。的数据库模式不能称为关系数据库。v 但是满足第一范式的关系模式并不一定是一个好的关系模但是满足第一范式的关系模式并不一定是一个好的关系模式。式

17、。27Theory of Database 27-关系模式关系模式 S-L-C(Sno,Sdept,Sloc,Cno,Grade)n 例:关系模式例:关系模式 S-L-C(Sno,Sdept,Sloc,Cno,Grade),Sloc为学生住处,假设每个系的学生住在同一个地方。为学生住处,假设每个系的学生住在同一个地方。u函数依赖包括:函数依赖包括:(Sno,Cno)F Grade Sno Sdept (Sno,Cno)P Sdept Sno Sloc (Sno,Cno)P Sloc Sdept Sloc28Theory of Database 28-S-L-C不是一个好的关系模式不是一个好的关

18、系模式 S-L-C(Sno,Sdept,Sloc,Cno,Grade)码:码:Sno+Cnov(1)数据冗余度大数据冗余度大v(2)删除异常删除异常v(3)插入异常插入异常v(4)更新复杂更新复杂29Theory of Database 29-S-L-C不是一个好的关系模式不是一个好的关系模式(Cont.)v原因原因 Sdept、Sloc部分函数依赖于码。部分函数依赖于码。v解决方法解决方法nS-L-C分解为两个关系模式,以消除这些部分函数依赖分解为两个关系模式,以消除这些部分函数依赖 uSC(Sno,Cno,Grade)uS-L(Sno,Sdept,Sloc)30Theory of Data

19、base 30-第二范式:第二范式:2NFv2NF的定义的定义n定义:若定义:若R1NF,且每一个,且每一个非主属性非主属性完全函数依赖完全函数依赖于码,于码,则则R2NF。nS-L-C(Sno,Sdept,Sloc,Cno,Grade)1NFnS-L-C(Sno,Sdept,Sloc,Cno,Grade)2NF?u答案:答案:S-L-C(Sno,Sdept,Sloc,Cno,Grade)2NF!u原因:存在部分依赖原因:存在部分依赖(Sno,Cno)P Sdept,(Sno,Cno)P Sloc。1NF且且没有部分依赖没有部分依赖31Theory of Database 31-第二范式:第二

20、范式:2NF(Cont.)v解决办法:采用解决办法:采用投影分解法投影分解法将一个将一个1NF的关系分的关系分解为多个解为多个2NF的关系,可以在一定程度上减轻原的关系,可以在一定程度上减轻原1NF关系中存在的插入异常、删除异常、数据冗关系中存在的插入异常、删除异常、数据冗余度大、修改复杂等问题。余度大、修改复杂等问题。nS-L-C(Sno,Sdept,Sloc,Cno,Grade)2NF u SC(Sno,Cno,Grade)2NFu S-L(Sno,Sdept,Sloc)2NF32Theory of Database 32-分解办法分解办法v 首先,对于组成主码的属性集合的每一个子集,首先

21、,对于组成主码的属性集合的每一个子集,用它作为主码构成一个表。用它作为主码构成一个表。v 然后,将依赖于这些主码的属性放置到相应的表然后,将依赖于这些主码的属性放置到相应的表中。中。v 最后,去掉只由主码的子集构成的表。最后,去掉只由主码的子集构成的表。33Theory of Database 33-分解:分解:S-L-C(Sno,Sdept,Sloc,Cno,Grade)v 对于对于S-L-C表,首先分解为如下形式的三张表:表,首先分解为如下形式的三张表:S-L(Sno,)C(Cno,)S-C(Sno,Cno,)v 然后,将依赖于这些主码的属性放置到相应的表中然后,将依赖于这些主码的属性放置

22、到相应的表中S-L(Sno,Sdept,Sloc)C(Cno)S-C(Sno,Cno,Grade)v 最后,去掉只由主码的子集构成的表,最终分解为:最后,去掉只由主码的子集构成的表,最终分解为:S-L(Sno,Sdept,Sloc)S-C(Sno,Cno,Grade)34Theory of Database 34-第二范式:第二范式:2NF(Cont.)v但是,将一个但是,将一个1NF关系分解为多个关系分解为多个2NF的关系,的关系,并并不能完全消除不能完全消除关系模式中的各种异常情况和数关系模式中的各种异常情况和数据冗余。据冗余。v S-L(Sno,Sdept,Sloc)2NFu(1)数据冗

23、余数据冗余u(2)删除异常删除异常u(3)插入异常插入异常u(4)更新复杂更新复杂35Theory of Database 35-第三范式第三范式 :3NFv3NF的定义的定义v 定义:关系模式定义:关系模式R 中每一个中每一个非主属性非主属性既不部分依既不部分依赖赖于码于码也不传递依赖也不传递依赖于码,则称于码,则称R 3NF。v 或:或:R 2NF且非主属性不传递函数依赖于码。且非主属性不传递函数依赖于码。1NF且且没有部分依赖没有部分依赖没有传递依赖没有传递依赖2NF且且没有传递依赖没有传递依赖36Theory of Database 36-第三范式第三范式 :3NF(Cont.)n 例

24、:例:2NF关系模式关系模式S-L(Sno,Sdept,Sloc)n 函数依赖:函数依赖:u SnoSdeptu Sdept Snou SdeptSlocu 因此:因此:SnoSloc u S-L中存在非主属性对码的传递函数依赖,中存在非主属性对码的传递函数依赖,S-L 3NFt37Theory of Database 37-第三范式第三范式 :3NF(Cont.)v解决方法:解决方法:采用投影分解法,把采用投影分解法,把S-L分解为两个关系模分解为两个关系模式,以式,以消除传递依赖消除传递依赖。v分解过程分解过程u(1)对于不是候选码的每个决定因子,从表中删去)对于不是候选码的每个决定因子,

25、从表中删去依赖于它的所有属性;依赖于它的所有属性;u(2)新建一个表,新表中包含在原表中所有依赖于)新建一个表,新表中包含在原表中所有依赖于该决定因子的属性;该决定因子的属性;u(3)将决定因子作为新表的主码。)将决定因子作为新表的主码。38Theory of Database 38-第三范式第三范式 :3NF(Cont.)v2NF关系模式关系模式S-L(Sno,Sdept,Sloc)n分解为:分解为:u S-D(Sno,Sdept)u D-L(Sdept,Sloc)u分解后的关系模式分解后的关系模式S-D与与D-L中不再存在传递依赖,都中不再存在传递依赖,都是是 3NF的。的。39Theor

26、y of Database 39-第三范式第三范式 :3NF(Cont.)n S-L-C(Sno,Sdept,Sloc,Cno,Grade)1NFn S-L-C(Sno,Sdept,Sloc,Cno,Grade)2NF u SC(Sno,Cno,Grade)2NFu S-L(Sno,Sdept,Sloc)2NFS-D(Sno,Sdept)3NFD-L(Sdept,Sloc)3NF 3NF 3NF40Theory of Database 40-第三范式第三范式 :3NF(Cont.)v采用采用投影分解法投影分解法将一个将一个2NF的关系分解为多个的关系分解为多个3NF的关系,可以在一定程度上解决

27、原的关系,可以在一定程度上解决原2NF关系中存在关系中存在的插入异常、删除异常、数据冗余度大、修改复杂的插入异常、删除异常、数据冗余度大、修改复杂等问题。等问题。v 将一个将一个2NF关系分解为多个关系分解为多个3NF的关系后,的关系后,仍然不仍然不能完全消除能完全消除关系模式中的各种异常情况和数据冗余。关系模式中的各种异常情况和数据冗余。41Theory of Database 41-小小 结结 问题的提出问题的提出 规范化规范化 函数依赖函数依赖 码码 范式范式 1NF 2NF 3NF为什么学习关系理论?为什么学习关系理论?方法:模式分解方法:模式分解存在的问题、解决方案存在的问题、解决方

28、案42Theory of Database 42-规范化举例规范化举例v关系模式:关系模式:Student(学号,姓名,导师号,导师名,课程号,课程说明,成绩学号,姓名,导师号,导师名,课程号,课程说明,成绩)v语义:一名学生只有一个导师,学生可选多门课。语义:一名学生只有一个导师,学生可选多门课。v将其规范化成将其规范化成3NF的。的。43Theory of Database 43-1、此表是、此表是1NF,其函数依赖为:,其函数依赖为:学号学号姓名姓名,学号学号导师号导师号,学号学号导师名导师名,课程号课程号课程说明课程说明,(学号,课程号学号,课程号)成绩成绩 主码为(学号,课程号)主码

29、为(学号,课程号)存在部分函数依赖关系,不是存在部分函数依赖关系,不是2NF。2、将其分解为、将其分解为2NF学生(学生(学号学号,姓名,导师号,导师名),姓名,导师号,导师名)课程(课程(课程号课程号,课程说明),课程说明)成绩(成绩(学号,课程号学号,课程号,成绩),成绩)Student(学号学号,姓名姓名,导师号导师号,导师名导师名,课程号课程号,课程说明课程说明,成绩成绩)44Theory of Database 44-3、判是否为、判是否为3NF 学生(学生(学号学号,姓名,导师号,导师名),姓名,导师号,导师名)其函数依赖为:其函数依赖为:学号学号姓名,学号姓名,学号导师号,导师号

30、导师号,导师号导师名,导师名,因此:学号因此:学号导师名,即存在传递依赖。导师名,即存在传递依赖。因此,因此,学生(学生(学号学号,姓名,导师号,导师名)不是,姓名,导师号,导师名)不是3NF消除依赖于决定者的属性,把它们放在一个单独表中。消除依赖于决定者的属性,把它们放在一个单独表中。学生(学生(学号学号,姓名,导师号),姓名,导师号)导师(导师(导师号导师号,导师名),导师名)tStudent(学号学号,姓名姓名,导师号导师号,导师名导师名,课程号课程号,课程说明课程说明,成绩成绩)是是3NF。是是3NF。45Theory of Database 45-4、至此,原关系分解为:、至此,原关

31、系分解为:课程(课程(课程号课程号,课程说明),课程说明)是是3NF成绩(成绩(学号,课程号学号,课程号,成绩),成绩)是是3NF学生(学生(学号学号,姓名,导师号,导师名)不是,姓名,导师号,导师名)不是3NF学生(学生(学号学号,姓名,导师号)是,姓名,导师号)是3NF导师(导师(导师号导师号,导师名)是,导师名)是3NF课程(课程(课程号课程号,课程说明),课程说明)是是3NF成绩(成绩(学号,课程号学号,课程号,成绩),成绩)是是3NF学生(学生(学号学号,姓名,导师号)是,姓名,导师号)是3NF导师(导师(导师号导师号,导师名)是,导师名)是3NFStudent(学号学号,姓名姓名,

32、导师号导师号,导师名导师名,课程号课程号,课程说明课程说明,成绩成绩)46Theory of Database 46-第第7 7章章 关系数据库规范化理论关系数据库规范化理论7.1 函数依赖函数依赖 7.2 关系规范化关系规范化 7.3 关系模式的分解准则关系模式的分解准则 47Theory of Database 47-模式分解模式分解n S-L-C(Sno,Sdept,Sloc,Cno,Grade)分解方案一分解方案一uSC(Sno,Cno,Grade)uS-L(Sno,Sdept,Sloc)n S-L-C(Sno,Sdept,Sloc,Cno,Grade)分解方案二分解方案二uSC(Sn

33、o,Cno,Sloc)uS-L(Sno,Sdept,Grade)好好不好不好48Theory of Database 48-模式分解模式分解v 对于一个模式的分解是有多个方案的,但无论哪个方案都对于一个模式的分解是有多个方案的,但无论哪个方案都要满足分解后产生的模式要与原模式要满足分解后产生的模式要与原模式“等价等价”。v 等价的三种不同含义:等价的三种不同含义:v 分解具有连接无损性(分解具有连接无损性(Lossless Join)v 分解具有函数依赖保持性(分解具有函数依赖保持性(Dependency Preservation)v 分解既要具有连接无损性,又要具有函数依赖保持性分解既要具有

34、连接无损性,又要具有函数依赖保持性49Theory of Database 49-关系模式的分解准则关系模式的分解准则v模式分解要满足:模式分解要满足:模式分解具有无损连接性;模式分解具有无损连接性;模式分解能够保持函数依赖。模式分解能够保持函数依赖。v无损连接无损连接是指分解后的关系通过自然连接可以恢复是指分解后的关系通过自然连接可以恢复成原来的关系,即通过自然连接得到的关系与原来成原来的关系,即通过自然连接得到的关系与原来的关系相比,的关系相比,既不多出信息、又不丢失信息既不多出信息、又不丢失信息。v保持函数依赖保持函数依赖分解是指在模式的分解过程中,函数分解是指在模式的分解过程中,函数依

35、赖不能丢失的特性,即依赖不能丢失的特性,即模式分解不能破坏原来的模式分解不能破坏原来的语义语义。50Theory of Database 50-vnatural join:(S-num,name,project,p-title)S1 Smith p1 accountS1 Smith p2 billing 增加的元组增加的元组S2 Jones p1 account S3 Smith p1 account 增加的元组增加的元组S3 Smith p2 billing元组增加、信息丢失元组增加、信息丢失不具有连接无损性不具有连接无损性51Theory of Database 51-Employee(S

36、-num,name,project,p-title)Employee(S-num,name,project)Project(project,p-title)Employee(S-num,name,project)Project(project,p-title)S1 Smith p1 p1 account S2 Jones p1 p2 billing S3 Smith p2vnatural join:(S-num,name,project,p-title)S1 Smith p1 account S2 Jones p1 account S3 Smith p2 billing具有连接无损性具有连接无

37、损性52Theory of Database 52-n(Sno,Sdept,Mname)uSnoSdept,Sdept Mnameu 分解方案一:分解方案一:(Sno)、(Sdept)、(Mname)u 分解方案二:分解方案二:(Sno,Sdept)和和(Sno,Mname)u 分解方案三:分解方案三:(Sno,Sdept)和和(Sdept,Mname)只能做笛卡尔积只能做笛卡尔积元组增加、信息丢失元组增加、信息丢失不具有连接无损性不具有连接无损性原来的依赖原来的依赖不存在了不存在了Sdept Mname,不具有依赖保持性不具有依赖保持性既具有连接无损性,既具有连接无损性,又又具有依赖保持性具

38、有依赖保持性53Theory of Database 53-关系模式的分解准则关系模式的分解准则(Cont.)v S-D-L(Sno,Dept,Loc)v 函数依赖:函数依赖:Sno Dept,Dept Locv 不是第三范式。三种分解方案:不是第三范式。三种分解方案:方案方案1:S-L(Sno,Loc),),D-L(Dept,Loc)方案方案2:S-D(Sno,Dept),),S-L(Sno,Loc)方案方案3:S-D(Sno,Dept),),D-L(Dept,Loc)v 这三种分解方案得到的关系模式都是第三范式的,那么如何这三种分解方案得到的关系模式都是第三范式的,那么如何比较这三种方案的

39、好坏呢?由此在将一个关系模式分解为多比较这三种方案的好坏呢?由此在将一个关系模式分解为多个关系模式时除了提高规范化程度之外,还需要考虑个关系模式时除了提高规范化程度之外,还需要考虑其他的其他的一些因素一些因素。54Theory of Database 54-关系模式的分解准则关系模式的分解准则(Cont.)v 将一个关系模式将一个关系模式R分解为若干个关系模式:分解为若干个关系模式:R1,R2,Rnv意味着将存储在一张二维表意味着将存储在一张二维表r中的数据分散到了若干中的数据分散到了若干个二维表个二维表r1,r2,rn中。中。v分解应该不丢失信息。分解应该不丢失信息。v即能通过对关系即能通过

40、对关系r1,r2,rn的自然连接运算重的自然连接运算重新得到关系新得到关系r中的所有信息。中的所有信息。55Theory of Database 55-关系模式的分解准则关系模式的分解准则(Cont.)v事实上,将关系事实上,将关系r投影为投影为r1,r2,rn时不会丢时不会丢失信息。失信息。v关键是对关键是对r1,r2,rn做自然连接时可能产生做自然连接时可能产生一些一些r中原来没有的元组,从而无法区别哪些元组中原来没有的元组,从而无法区别哪些元组是是r中原来有的,即数据库中应该存在的数据,哪中原来有的,即数据库中应该存在的数据,哪些是不应该有的。些是不应该有的。v在这个意义上就丢失了信息。

41、在这个意义上就丢失了信息。56Theory of Database 56-关系模式的分解准则关系模式的分解准则(Cont.)v以上三种分解方案是否都满足分解要求呢?以上三种分解方案是否都满足分解要求呢?v假设此关系模式的数据如表所示,此关系用假设此关系模式的数据如表所示,此关系用r表示。表示。Sno Dept Loc S01D1 L1 S02 D2 L2 S03 D2L2 S04 D3L1 57Theory of Database 57-关系模式的分解准则关系模式的分解准则(Cont.)v若按方案若按方案1将将S-D-L投影到投影到S-L和和D-L的属性上,得的属性上,得到如左边两个表所示的关

42、系。做到如左边两个表所示的关系。做自然连接自然连接得到结得到结果如右表所示。果如右表所示。Sno Loc S01L1 S02 L2 S03 L2S04 L1Dept Loc D1 L1 D2 L2 D3 L1Sno Dept Loc S01D1 L1 S01D3L1S02 D2 L2 S03 D2L2S04D1 L1S04 D3L1S-L(Sno,Loc),),D-L(Dept,Loc)58Theory of Database 58-关系模式的分解准则关系模式的分解准则(Cont.)v结论:方案结论:方案1不是无损的。不是无损的。Sno Dept Loc S01D1 L1 S02 D2 L2

43、S03 D2L2 S04 D3L1 Sno Dept Loc S01D1 L1 S01D3L1S02 D2 L2 S03 D2L2S04D1 L1S04 D3L1分解前分解前方案方案1连接后连接后59Theory of Database 59-关系模式的分解准则关系模式的分解准则(Cont.)v无损连接性无损连接性v将关系模式将关系模式R分解为个关系模式:分解为个关系模式:R1,R2,Rnv若对于若对于R中的任何一个可能的中的任何一个可能的r,都有,都有 r r1*r2*rn即即r在在R1,R2,Rn上的投影的自然连接等于上的投影的自然连接等于r,则称关系模式则称关系模式R的这个分解具有的这个

44、分解具有无损连接性无损连接性。60Theory of Database 60-关系模式的分解准则关系模式的分解准则(Cont.)v分析方案分析方案2。将。将S-D-L投影到投影到S-D,S-L的属性上,得的属性上,得到的关系如左边两个表所示。做到的关系如左边两个表所示。做自然连接自然连接得到的关得到的关系右表所示。系右表所示。Sno Loc S01L1 S02 L2 S03 L2 S04 L1 Sno Dept S01D1S02 D2 S03 D2 S04 D3 Sno Dept Loc S01D1 L1 S02 D2 L2 S03 D2L2S04 D3 L1 S-D(Sno,Dept),),

45、S-L(Sno,Loc)61Theory of Database 61-关系模式的分解准则关系模式的分解准则(Cont.)v方案方案2是无损的。是无损的。v方案方案2没有保持原有的函数依赖关系。没有保持原有的函数依赖关系。Dept LocSno Dept Loc S01D1 L1 S02 D2 L2 S03 D2L2 S04 D3L1 分解前分解前方案方案2连接后连接后Sno Dept Loc S01D1 L1 S02 D2 L2 S03 D2L2S04 D3 L1 62Theory of Database 62-关系模式的分解准则关系模式的分解准则(Cont.)v分析方案分析方案3。将。将S

46、-D-L投影到投影到S-D,D-L的属性上,得的属性上,得到的关系如左边两个表所示。做到的关系如左边两个表所示。做自然连接自然连接得到的关得到的关系右表所示。系右表所示。Dept Loc D1L1 D2 L2 D2 L2 D3 L1 Sno Dept S01D1S02 D2 S03 D2 S04 D3 Sno Dept Loc S01D1 L1 S02 D2 L2 S03 D2L2S04 D3 L1 S-D(Sno,Dept),),D-L(Dept,Loc)63Theory of Database 63-关系模式的分解准则关系模式的分解准则(Cont.)v 方案方案2是无损的。是无损的。v 方

47、案方案2具有函数依赖保持性。具有函数依赖保持性。Sno Dept,Dept LocSno Dept Loc S01D1 L1 S02 D2 L2 S03 D2L2 S04 D3L1 分解前分解前方案方案3连接后连接后Sno Dept Loc S01D1 L1 S02 D2 L2 S03 D2L2S04 D3 L1 S-D(Sno,Dept),D-L(Dept,Loc)64Theory of Database 64-关系模式的分解准则关系模式的分解准则(Cont.)v分解具有无损连接性和分解保持函数依赖是两个分解具有无损连接性和分解保持函数依赖是两个独立的标准独立的标准。具有无损连接性的分解不一

48、定保持。具有无损连接性的分解不一定保持函数依赖;保持函数依赖的分解不一定具有无损函数依赖;保持函数依赖的分解不一定具有无损连接性。连接性。v一般情况下,在进行模式分解时,应将一般情况下,在进行模式分解时,应将有直接依有直接依赖关系的属性放置在一个关系模式中赖关系的属性放置在一个关系模式中,这样得到,这样得到的分解结果一般能具有无损连接性,并能保持函的分解结果一般能具有无损连接性,并能保持函数依赖关系不变。数依赖关系不变。65Theory of Database 65-1NF2NF3NFBCNF4NF 1NF 消除非主属性对码的部分函数依赖消除非主属性对码的部分函数依赖消除决定属性消除决定属性

49、2NF集非码的非平集非码的非平 消除非主属性对码的传递函数依赖消除非主属性对码的传递函数依赖凡函数依赖凡函数依赖 3NF 消除主属性对码的部分和传递函数依赖消除主属性对码的部分和传递函数依赖 BCNF 4NF 消除非主属性对码的部分函数依赖消除非主属性对码的部分函数依赖消除非主属性对码的传递函数依赖消除非主属性对码的传递函数依赖消除主属性对码的部分和传递函数依赖消除主属性对码的部分和传递函数依赖消除非平凡且非函数依赖的多值依赖消除非平凡且非函数依赖的多值依赖n 关系模式规范化的方法:模式分解关系模式规范化的方法:模式分解66Theory of Database 66-作业&P108:14&补充

50、题补充题 补充题补充题1、给出一个关系模式、给出一个关系模式 R(U)和函数依赖集和函数依赖集F,该,该R 属于属于 1NF 但不属于但不属于2NF,解释其存在的问题,并将其分解,解释其存在的问题,并将其分解为为2NF。2、给出一个关系模式、给出一个关系模式 R(U)和函数依赖集和函数依赖集F,该,该R 属于属于 2NF 但不属于但不属于3NF,解释其存在的问题,并将其分解,解释其存在的问题,并将其分解为为3NF。68Theory of Database 68-9、静夜四无邻,荒居旧业贫。22.8.1122.8.11Thursday,August 11,202210、雨中黄叶树,灯下白头人。1

51、8:54:5818:54:5818:548/11/2022 6:54:58 PM11、以我独沈久,愧君相见频。22.8.1118:54:5818:54Aug-2211-Aug-2212、故人江海别,几度隔山川。18:54:5818:54:5818:54Thursday,August 11,202213、乍见翻疑梦,相悲各问年。22.8.1122.8.1118:54:5818:54:58August 11,202214、他乡生白发,旧国见青山。2022年8月11日星期四下午6时54分58秒18:54:5822.8.1115、比不了得就不比,得不到的就不要。2022年8月下午6时54分22.8.1

52、118:54August 11,202216、行动出成果,工作出财富。2022年8月11日星期四18时54分58秒18:54:5811 August 202217、做前,能够环视四周;做时,你只能或者最好沿着以脚为起点的射线向前。下午6时54分58秒下午6时54分18:54:5822.8.119、没有失败,只有暂时停止成功!。22.8.1122.8.11Thursday,August 11,202210、很多事情努力了未必有结果,但是不努力却什么改变也没有。18:54:5818:54:5818:548/11/2022 6:54:58 PM11、成功就是日复一日那一点点小小努力的积累。22.8.

53、1118:54:5818:54Aug-2211-Aug-2212、世间成事,不求其绝对圆满,留一份不足,可得无限完美。18:54:5818:54:5818:54Thursday,August 11,202213、不知香积寺,数里入云峰。22.8.1122.8.1118:54:5818:54:58August 11,202214、意志坚强的人能把世界放在手中像泥块一样任意揉捏。2022年8月11日星期四下午6时54分58秒18:54:5822.8.1115、楚塞三湘接,荆门九派通。2022年8月下午6时54分22.8.1118:54August 11,202216、少年十五二十时,步行夺得胡马骑

54、。2022年8月11日星期四18时54分58秒18:54:5811 August 202217、空山新雨后,天气晚来秋。下午6时54分58秒下午6时54分18:54:5822.8.119、杨柳散和风,青山澹吾虑。22.8.1122.8.11Thursday,August 11,202210、阅读一切好书如同和过去最杰出的人谈话。18:54:5818:54:5818:548/11/2022 6:54:58 PM11、越是没有本领的就越加自命不凡。22.8.1118:54:5818:54Aug-2211-Aug-2212、越是无能的人,越喜欢挑剔别人的错儿。18:54:5818:54:5818:5

55、4Thursday,August 11,202213、知人者智,自知者明。胜人者有力,自胜者强。22.8.1122.8.1118:54:5818:54:58August 11,202214、意志坚强的人能把世界放在手中像泥块一样任意揉捏。2022年8月11日星期四下午6时54分58秒18:54:5822.8.1115、最具挑战性的挑战莫过于提升自我。2022年8月下午6时54分22.8.1118:54August 11,202216、业余生活要有意义,不要越轨。2022年8月11日星期四18时54分58秒18:54:5811 August 202217、一个人即使已登上顶峰,也仍要自强不息。下午6时54分58秒下午6时54分18:54:5822.8.11MOMODA POWERPOINTLorem ipsum dolor sit amet,consectetur adipiscing elit.Fusce id urna blandit,eleifend nulla ac,fringilla purus.Nulla iaculis tempor felis ut cursus.感 谢 您 的 下 载 观 看感 谢 您 的 下 载 观 看专家告诉

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!