版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第七章第七章 关系数据理论关系数据理论第七章第七章 关系数据理论关系数据理论n设计一个好的关系数据库系统,关键是要设计设计一个好的关系数据库系统,关键是要设计一个好的数据库模式(数据库逻辑设计问题)一个好的数据库模式(数据库逻辑设计问题)n数据库逻辑设计主要解决的问题:数据库逻辑设计主要解决的问题:n关系数据库应该组织成几个关系模式关系数据库应该组织成几个关系模式n关系模式中有包括哪些属性关系模式中有包括哪些属性n在关系数据库设计理论的指导下在关系数据库设计理论的指导下, ,选择较好的选择较好的关系模式集合关系模式集合关系数据理论关系数据理论n关系数据库设计理论就是借助于数学工具规定关系数据库
2、设计理论就是借助于数学工具规定了一整套的关系数据库设计理论和方法了一整套的关系数据库设计理论和方法n本章主要内容:本章主要内容:n函数依赖函数依赖n规范化理论规范化理论问题的提出问题的提出举例:为学校设计一个关系数据库举例:为学校设计一个关系数据库关系模式关系模式: UN(SNO,SDEPT,MN,CNAME,G): UN(SNO,SDEPT,MN,CNAME,G)其中其中:SNO:SNO:描述学生学号描述学生学号 SDEPT:SDEPT:描述学生所属系名描述学生所属系名 MN:MN:描述系主任描述系主任 CNAME:CNAME:描述课程描述课程 G:G:描述学习成绩描述学习成绩根据对现实世界
3、的分析根据对现实世界的分析, ,可得出可得出:SNO,CNAME:SNO,CNAME是码是码按照关系模式按照关系模式UNUN装入部分数据装入部分数据: :问题的提出(续)问题的提出(续)SNO CNAME G SDEPT MN S1 C1 A 计算机系 赵 S1 C2 A 计算机系 赵 S1 C4 A 计算机系 赵 S2 C2 A 计算机系 赵 S2 C3 B 计算机系 赵 S3 C1 B 数学系 王 S3 C2 A 数学系 王 S4 C1 A 物理系 王 S4 C2 B 物理系 王 S4 C3 C 物理系 王 S5 C4 A 信息系 李 问题的提出(续)问题的提出(续)对数据库操作时对数据库
4、操作时, ,会出现以下问题会出现以下问题n数据冗余数据冗余( (系主任名的存储次数系主任名的存储次数) )n数据重复存储数据重复存储: :浪费存储空间浪费存储空间, ,数据库维护困难数据库维护困难( (更新异常更新异常) )n插入异常插入异常( (一个系刚成立没人选课一个系刚成立没人选课) )n主码为空的记录不能存在与数据库主码为空的记录不能存在与数据库, ,导致不能导致不能进行插入操作进行插入操作问题的提出(续)问题的提出(续)对数据库操作时对数据库操作时, ,会出现以下问题会出现以下问题n删除异常删除异常( (删除某些学生成绩删除某些学生成绩) )n删除操作后删除操作后, ,一些相关信息无
5、法保存在数据库中一些相关信息无法保存在数据库中n更新异常更新异常n如果一个学生转系,则要更新和其相关的所有如果一个学生转系,则要更新和其相关的所有系别名称及负责人系别名称及负责人问题的提出(续)问题的提出(续)解决之道解决之道:如何分解?如何分解?U1=(SNO,SDEPT,MN)U2=(SNO,CNAME,G)问题的提出(续)问题的提出(续)SNOCNAMEGS1C1AS1C2AS1C4AS2C2AS2C3BS3C1BS3C2AS4C1AS4C2BS4C3CS5C4ASNOSDEPTMNS1计算机系计算机系赵赵S2计算机系计算机系赵赵S3数学系数学系王王S4物理系物理系王王S5信息系信息系李
6、李问题的提出(续)问题的提出(续)这种模式是否消除了各种异常?这种模式是否消除了各种异常?数据冗余?数据冗余? 系主任依然重复存储!系主任依然重复存储!插入异常、删除异常和更新异常依然存在插入异常、删除异常和更新异常依然存在问题的提出(续)问题的提出(续)关系模式仍需继续分解关系模式仍需继续分解U1=(SNO,CNAME,G)U2=(SNO,SDEPT)U3=(SDEPT,MN)问题的提出(续)问题的提出(续)SNOCNAMEGS1C1AS1C2AS1C4AS2C2AS2C3BS3C1BS3C2AS4C1AS4C2BS4C3CS5C4ASNOSDEPTS1计算机系计算机系S2计算机系计算机系S
7、3数学系数学系S4物理系物理系S5信息系信息系SDEPTMN计算机系计算机系赵赵数学系数学系王王物理系物理系王王信息系信息系李李问题的提出(续)问题的提出(续)数据依赖最重要的包括:函数依赖和多值依赖数据依赖最重要的包括:函数依赖和多值依赖如上例:如上例:n一个系有若干学生,但一个学生至多属于一个系一个系有若干学生,但一个学生至多属于一个系n一个系只有一名负责人一个系只有一名负责人n一个学生可以选修多门课,一个课可以有多个人一个学生可以选修多门课,一个课可以有多个人选修选修n每个学生没门课程都有一个成绩每个学生没门课程都有一个成绩SNO-SDEPT ,SDEPT-MN,(SNO,CNAME)-
8、G7.1 关系数据模式的规范化理论关系数据模式的规范化理论 为了使数据库设计的方法走向完备,人们研究为了使数据库设计的方法走向完备,人们研究了规范化理论。上面的例子说明并非所有逻辑结了规范化理论。上面的例子说明并非所有逻辑结构都能很好的体现现实世界,必须做进一步的分构都能很好的体现现实世界,必须做进一步的分析,以确定如何设计一个好的、反映现实世界的析,以确定如何设计一个好的、反映现实世界的模式。模式。 本节规范化就是在数据依赖的基础上讨论模式本节规范化就是在数据依赖的基础上讨论模式是否有不合适的地方,然后直观描述如何将具有是否有不合适的地方,然后直观描述如何将具有不合适性质的关系转换为更合适的
9、形式。不合适性质的关系转换为更合适的形式。7.1.1 关系模式规范化的必要性关系模式规范化的必要性n关系模式应满足的基本要求关系模式应满足的基本要求n元组的每个分量必须是不可分的数据项。元组的每个分量必须是不可分的数据项。n数据冗余应尽可能少。数据冗余应尽可能少。n不能因为数据更新操作而引起数据不一致问题。不能因为数据更新操作而引起数据不一致问题。n当执行数据插入操作时,数据不能产生插入异常当执行数据插入操作时,数据不能产生插入异常现象。现象。n数据不能在执行删除操作时产生删除异常问题。数据不能在执行删除操作时产生删除异常问题。n数据库设计应考虑查询要求,数据组织应合理。数据库设计应考虑查询要
10、求,数据组织应合理。7.1.2 函数依赖及其关系的范式n类似于变量之间的单值函数关系类似于变量之间的单值函数关系 Y=F(X),其中自变量其中自变量X的值的值,决定一个唯一的函数值决定一个唯一的函数值Yn在一个关系模式里的属性在一个关系模式里的属性,由于它在不同元组里属性由于它在不同元组里属性值可能不同值可能不同,由此可以把关系中的属性看作变量由此可以把关系中的属性看作变量n一个属性与另一个属性在取值上可能存在制约关系一个属性与另一个属性在取值上可能存在制约关系n函数依赖就是属性间的逻辑依赖关系函数依赖就是属性间的逻辑依赖关系函数依赖(续)函数依赖(续)n函数依赖函数依赖设设R(U)是属性集是
11、属性集U上的关系模式,上的关系模式,X , Y U, r是是R(U) 上的任意一个关系,如果成立上的任意一个关系,如果成立那么称那么称“X函数决定函数决定Y”,或,或“Y函数依赖于函数依赖于X”,记作,记作XY称称X为决定因素为决定因素如如SNO SNAME, (SNO,CNO) G函数依赖(续)函数依赖(续)ABCDa1b1c1d1a1b2c1d2a2b2c2d2a2b3c2d3a3b3c2d4n满足依赖的关系:依赖在模式的某个关系实例上成立满足依赖的关系:依赖在模式的某个关系实例上成立n模式上成立的依赖:依赖在模式的所有关系实例上都模式上成立的依赖:依赖在模式的所有关系实例上都成立成立函数
12、依赖(续)函数依赖(续)1. 函数依赖是语义范畴的概念函数依赖是语义范畴的概念.它反映了一种语义它反映了一种语义完整性约束完整性约束,只能根据语义来确定一个函数依赖只能根据语义来确定一个函数依赖.2. 函数依赖是指关系函数依赖是指关系R模式的所有关系元组均应模式的所有关系元组均应满足的约束条件满足的约束条件,而不是关系模式中的某个或某而不是关系模式中的某个或某些元组满足的约束条件些元组满足的约束条件函数依赖(续)函数依赖(续)3. 函数依赖与属性间的联系类型有关函数依赖与属性间的联系类型有关(1)若属性若属性X和和Y之间有之间有“一对一一对一”的联系的联系, 则则X Y,Y X,X Y.(2)
13、若属性若属性X和和Y之间有之间有“多对一多对一”的联系的联系, 则则X Y,但但Y X.(3)若属性若属性X和和Y之间有之间有“多对多多对多”的联系的联系, 则则X与与Y之间不存在任何函数依赖之间不存在任何函数依赖.当确定函数依赖关系时当确定函数依赖关系时,可从属性间的联系入手可从属性间的联系入手函数依赖(续)函数依赖(续)n平凡函数依赖平凡函数依赖如果如果X Y,但,但Y X,则称其为非平凡的函,则称其为非平凡的函数依赖,否则称为平凡的函数依赖数依赖,否则称为平凡的函数依赖如(如(S#,SN) SN是平凡的函数依赖是平凡的函数依赖n若若X Y,则称,则称X为决定因素为决定因素n若若X Y,Y
14、 X,则记做,则记做X Yn若若Y不函数依赖于不函数依赖于X,则记做,则记做函数依赖(续)函数依赖(续)n部分函数依赖部分函数依赖在在R(U)中,如果中,如果XY,且对于任意,且对于任意X的真子集的真子集X,都有,都有 ,则称,则称Y对对X完全函数依赖,记完全函数依赖,记作作否则称为否则称为Y对对X部分函数依赖,记作部分函数依赖,记作 fpf(SNO,CNO) SNp函数依赖(续)函数依赖(续)n传递函数依赖传递函数依赖在在R(U)中,如果中,如果则称则称Z对对X传递函数依赖传递函数依赖SNO SDEPT,SDEPT MN码码(补充补充)n定义定义4: 在关系模式在关系模式R(U,F)中中,K
15、是是U中的属性或中的属性或属性组属性组,如果如果K f U,则称则称K为关系为关系R(U)的一个候的一个候选码选码;若关系候选码多于一个若关系候选码多于一个,则选定其中一个作则选定其中一个作为主码为主码.其中包含在任意一个候选码中的属性称为其中包含在任意一个候选码中的属性称为主属性主属性;不包含在任意一个候选码中的属性称为不包含在任意一个候选码中的属性称为非非主属性主属性。n如果整个属性组是码,则称为全码。如果整个属性组是码,则称为全码。码(续)码(续)候选码的两个性质候选码的两个性质:1. 标识的唯一性标识的唯一性: 对于对于R(U)中的每一元组中的每一元组,K的值确的值确定后定后,该元组就
16、相应确定了该元组就相应确定了.2. 无冗余性无冗余性: K是属性组的情况下是属性组的情况下,K的任何一部分的任何一部分都不能唯一标识该元组都不能唯一标识该元组(定义中的完全函数依赖定义中的完全函数依赖的意义的意义) 码(续)码(续)例:例:1. S(SNO,SNAME,AGE,SEX,DEPT) 其中其中: SNO和和SNAME是主属性是主属性,其它属性是非主属性其它属性是非主属性2. SC(SNO,CNO,GRADE) 其中其中:SNO,CNO是主属性是主属性,GRADE属性是非主属性属性是非主属性3. 设宴奏者、作品和听众分别用设宴奏者、作品和听众分别用P、W,A表示,构成表示,构成一个关
17、系模式一个关系模式PWA(P,W,A) 其中其中:全属性集全属性集(P,W,A)是码是码(全码全码),P,W,A都是主属都是主属性性码(续)码(续)n定义:关系模式定义:关系模式R中属性或属性组中属性或属性组X并非并非R的码,但的码,但X是另一个关系模式的码,则称是另一个关系模式的码,则称X是是R的外部码,也称外码。的外部码,也称外码。例:例:SC(SNO,CNO,G)中,中,SNO不是码,不是码,但但SNO是关系模式是关系模式S的码,则的码,则SNO是是SC的的外码。外码。范式范式n用几个简单的关系去取代原来结构复杂的关系的用几个简单的关系去取代原来结构复杂的关系的过程叫做关系规范化过程叫做
18、关系规范化.n规范化理论是研究如何把一个不好的关系模式转规范化理论是研究如何把一个不好的关系模式转化为好的关系模式的理论化为好的关系模式的理论n规范化理论是规范化理论是E.E.Codd在在1971年首先提出的年首先提出的n规范化理论是数据库设计过程中的一个非常有用规范化理论是数据库设计过程中的一个非常有用的辅助工具的辅助工具规范化(续)规范化(续)n规范化理论是围绕着范式建立的规范化理论是围绕着范式建立的.n满足不同程度要求的约束集则称为不同的范式满足不同程度要求的约束集则称为不同的范式.n如果一个关系满足某个指定的约束集如果一个关系满足某个指定的约束集,则称它属于某则称它属于某个特定的范式个
19、特定的范式.n较高层次的范式比较低层次的范式具有较高层次的范式比较低层次的范式具有“更合乎要求更合乎要求的性质的性质”n一个低一级范式的关系模式一个低一级范式的关系模式,通过投影运算可以转化通过投影运算可以转化为若干个高一级范式的关系模式的集合为若干个高一级范式的关系模式的集合,这个过程叫这个过程叫做规范化做规范化.n如果一个关系满足某个范式要求如果一个关系满足某个范式要求,则它也会满足较其则它也会满足较其级别低的所有范式的要求级别低的所有范式的要求规范化(续)规范化(续)1NF2NF3NF4NFBCNF5NF1NFn定义定义关系中每一分量不可再分。即不能以集合、序列关系中每一分量不可再分。即
20、不能以集合、序列等作为属性值等作为属性值SNOCNOS1 C1,C2,C3SNOCNOS1C1S1C2S1C31NF分量是否需要再分,与具体应用有关。如果用到值分量是否需要再分,与具体应用有关。如果用到值的一部分,则需要进一步分割的一部分,则需要进一步分割如果只是查询出生日期,则它满足如果只是查询出生日期,则它满足1NF如果查询两人生日是否相同,则只比较月、日,如果查询两人生日是否相同,则只比较月、日,需要将生日分解,就不满足需要将生日分解,就不满足1NF姓名生日王军68.7.10张立69.7.10李明80.3.28姓名年月日王军687.10张立697.10李明803.282NF关系模式关系模
21、式S-L-C(SNO , SDEPT , SLOC , CNO , G)n不良特性不良特性n插入异常:如果学生没有选课,关于他的个人信息及所插入异常:如果学生没有选课,关于他的个人信息及所在系的信息就无法插入在系的信息就无法插入n删除异常:如果删除学生的选课信息,则有关他的个人删除异常:如果删除学生的选课信息,则有关他的个人信息及所在系的信息也随之删除了信息及所在系的信息也随之删除了n更新异常:如果学生转系,若他选修了更新异常:如果学生转系,若他选修了k门课,则需要修门课,则需要修改改k次次n数据冗余:如果一个学生选修了数据冗余:如果一个学生选修了k门课,则有关他的所在门课,则有关他的所在系的
22、信息重复系的信息重复2NF(续)(续)上例中成立的函数依赖有:上例中成立的函数依赖有:SNO f(SNO,CNO) SDEPTp(SNO,CNO) SLOCpSNOCNOGSDEPTSLOCfpp2NF(续)(续)n若若R 1NF,且每个非主属性完全依赖于码,且每个非主属性完全依赖于码,则称则称R 2NFn消除非主属性对码的部分依赖消除非主属性对码的部分依赖如如S 2NF,因为,因为(SNO,CNO) SDEPTp(SNO,CNO) SLOCp2NF(续)(续)n改造改造非主属性有两种,一种完全依赖于码,一种部非主属性有两种,一种完全依赖于码,一种部分依赖于码。分依赖于码。将将S分解为:分解为
23、:SC(SNO , CNO , G)S-L(SNO , SDEPT , SLOC)3NFSC(SNO , CNO , G)S-L(SNO , SDEPT , SLOC)这种模式避免了原来的一些异常出现,但是是这种模式避免了原来的一些异常出现,但是是否能正确灵活的反映现实世界?否能正确灵活的反映现实世界?3NF(续)(续)S-L(SNO , SDEPT , SLOC)n数据冗余:每个学生都存储了所在系的地址信息数据冗余:每个学生都存储了所在系的地址信息n插入异常:新建一个系,如果系中没有学生,则有关插入异常:新建一个系,如果系中没有学生,则有关系的信息就无法插入系的信息就无法插入n删除异常:如果
24、学生全部毕业了,则在删除学生信息删除异常:如果学生全部毕业了,则在删除学生信息的同时有关系的信息也随之删除了的同时有关系的信息也随之删除了n更新异常:如果学生转系,不但要修改更新异常:如果学生转系,不但要修改SDEPT,还要,还要修改修改SLOC,如果系换了地址,则该系每个学生元组,如果系换了地址,则该系每个学生元组都要做相应修改都要做相应修改3NF(续)(续)成立的函数依赖有:成立的函数依赖有:SDEPT SDEPTSNO SLOC3NF(续)(续)n关系模式关系模式R中,若不存在这样的码中,若不存在这样的码X,属性组属性组Y及非主属性及非主属性Z(Z Y),使得下式成立,使得下式成立,XY
25、 , YZ , Y X则称则称R 3NFn消除非主属性对码的传递依赖消除非主属性对码的传递依赖如如S-L 3NF,因为有,因为有SNOSDEPT,SDEPTSLOC3NF(续)(续)n改造改造将将S-L分解为分解为S-D(SNO , SDEPT)D-L(SDEPT , SLOC)BCNFn示例示例STJ(S , T , J)每个教师只教一门课程,每门课可以有若干个教每个教师只教一门课程,每门课可以有若干个教师,某一个学生选定了某门课,就对应一个固定师,某一个学生选定了某门课,就对应一个固定的教师。的教师。T J ,(S,T) J,(S,J) T码是什么?码是什么?(S,T),(S,J)为候选码
26、。为候选码。BCNF(续)(续)T J ,(S,T) J,(S,J) TSTC 3NF ?没有发生非主属性对主码的部分依赖和传递没有发生非主属性对主码的部分依赖和传递依赖,因此此模式属于依赖,因此此模式属于3NF3NF。这样的模式是。这样的模式是否还有缺陷?否还有缺陷?BCNF(续)(续)n插入异常:如果没有学生选修某位老师的任课,插入异常:如果没有学生选修某位老师的任课,则该老师担任课程的信息就无法插入则该老师担任课程的信息就无法插入n删除异常:删除学生选课信息,会删除掉老师删除异常:删除学生选课信息,会删除掉老师的任课信息的任课信息n更新异常:如果老师所教授的课程有所改动,更新异常:如果老
27、师所教授的课程有所改动,则所有选修该老师课程的学生元组都要做改动则所有选修该老师课程的学生元组都要做改动n数据冗余:每位学生都存储了有关老师所教授数据冗余:每位学生都存储了有关老师所教授的课程的信息的课程的信息BCNF(续)(续)T J ,(S,T) J,(S,J) T为什么会出现这种异常呢?为什么会出现这种异常呢?主属性对码的不良依赖主属性对码的不良依赖BCNF(续)(续)n定义定义n关系模式关系模式R中,对于属性组中,对于属性组X,Y,若,若XY且且Y X时时X必含有码,则必含有码,则R BCNF如如STJ BCNF,因为,因为T J,而,而T不含有码不含有码n改造改造将将S分解为分解为(
28、S,T),(,(T,J)没有没有任何属性任何属性对码的部分函数依赖和传递函数依赖对码的部分函数依赖和传递函数依赖3NF与与BCNF的关系的关系n如果关系模式如果关系模式RBCNF, 必定有必定有R3NFn如果如果R3NF,且,且R只有一个候选码,只有一个候选码, 则则R必属于必属于BCNF。BCNF的关系模式所具有的性质的关系模式所具有的性质 所有所有非主属性非主属性都完全函数依赖于每个候选码都完全函数依赖于每个候选码 所有所有主属性主属性都完全函数依赖于每个不包含它的候都完全函数依赖于每个不包含它的候选码选码 没有任何属性完全函数依赖于没有任何属性完全函数依赖于非码非码的任何一组属的任何一组
29、属性性7.1.3 多值依赖及关系的第四范式多值依赖及关系的第四范式关系模式关系模式TEACH(C,T,B),一门课程由),一门课程由多个教员担任,一门课程使用相同的一套参考多个教员担任,一门课程使用相同的一套参考书。书。它的码是(它的码是(C,T,B),所以属于),所以属于BCNF多值依赖(续)多值依赖(续)CTBC1T1B1C1T1B2C1T2B1C1T2B2C2T1B3C2T1B4C2T3B3C2T3B4CTBC1T1,T2B1,B2C2T1,T3B3,B4多值依赖(续)多值依赖(续)n插入异常:当某门课程增加一名教员时,该门课程有插入异常:当某门课程增加一名教员时,该门课程有多少本参考书
30、就必须插入多少个元组;同样当某门课多少本参考书就必须插入多少个元组;同样当某门课程需要增加一本参考书时,它有多少个教员就必须插程需要增加一本参考书时,它有多少个教员就必须插入多少个元组入多少个元组n删除异常:当删除一门课程的某个教员或者某本参考删除异常:当删除一门课程的某个教员或者某本参考书时,需要删除多个元组书时,需要删除多个元组n更新异常:当一门课程的教员或参考书作出改变时,更新异常:当一门课程的教员或参考书作出改变时,需要修改多个元组需要修改多个元组n数据冗余:同一门课的教员与参考书的信息被反复存数据冗余:同一门课的教员与参考书的信息被反复存储多次储多次多值依赖(续)多值依赖(续)描述型
31、:关系模式:关系模式R(U),X、Y、Z U,并,并且且Z = U X Y,多值依赖,多值依赖X Y成立当成立当且仅当对且仅当对R(U)的任一关系的任一关系r,给定的一对(,给定的一对(x,z)值有一组)值有一组Y的值,这组值仅仅决定于的值,这组值仅仅决定于x值而值而与与z值无关值无关例例 Teaching(C, T, B) 对于对于C的每一个值,的每一个值,T有一组值与之对应,而不论有一组值与之对应,而不论B取何值取何值多值依赖(续)多值依赖(续)n形式化:关系模式:关系模式R(U),X、Y、Z U,Z=UX Y,对于,对于R(U)的任一关系的任一关系r,若存在,若存在元组元组t1,t2,使
32、得,使得t1X = t2X,那么就必,那么就必然存在元组然存在元组t3,t4,使得:,使得:t3X = t4X = t1X = t2Xt3Y = t1Y, t4Y = t2Yt3Z = t2Z, t4Z = t1Z则称则称Y多值依赖与多值依赖与X,记作,记作X YNEXT多值依赖(续)多值依赖(续)XiZi1 Zi2 ZimYi1 Yi2 Yin多值依赖(续)多值依赖(续)n性质性质n多值依赖具有对称性,即若多值依赖具有对称性,即若XY,则,则XZ,其中,其中Z=UXYn多值依赖具有传递性多值依赖具有传递性n函数依赖是多值依赖的特例,即若函数依赖是多值依赖的特例,即若XY,则,则XYn若若XY
33、, XZ则则XY Zn若若XY, XZ则则XY Zn若若XY, XZ则则XYZ, XZYn若若XY,UXY= ,则称则称XY为为平凡的多值依赖平凡的多值依赖多值依赖(续)多值依赖(续)n区别区别n函数依赖规定某些元组不能出现在关系中,也称为函数依赖规定某些元组不能出现在关系中,也称为相等产相等产生依赖生依赖n多值依赖要求某种形式的其它元组必须在关系中,称为多值依赖要求某种形式的其它元组必须在关系中,称为元元组产生依赖组产生依赖n有效性范围有效性范围nXY的有效性仅决定于的有效性仅决定于X、Y属性集上的值,它在任何属属性集上的值,它在任何属性集性集W(XY W U)上都成立)上都成立若若XY在在
34、R(U)上成立,则对于任何上成立,则对于任何Y Y,均有,均有XY 成成立立多值依赖(续)多值依赖(续)nXY的有效性与属性集范围有关的有效性与属性集范围有关 XY在属性集在属性集W(XY W U)上成立,但在)上成立,但在U上不上不一定成立一定成立XY在在U上成立上成立 XY在属性集在属性集W(XY W U)上成立上成立若在若在R(U)上,上,XY在属性集在属性集W(XY W U)上成立,上成立,则称则称XY为为R(U) 的嵌入式多值依赖的嵌入式多值依赖若若XY在在R(U)上成立,则不能断言对于上成立,则不能断言对于Y Y,是否,是否有有XY 成立成立多值依赖(续)多值依赖(续)ABCDa1
35、b1c1d1a1b1c2d1a1b2c1d2a1b2c2d2AB在在ABC上成上成立,而在立,而在ABCD上不上不成立成立ABC成立成立AB不不成立成立ABCDa1b1c1d1a1b1c1d2a1b2c2d1a1b2c2d24NFn定义定义n关系模式关系模式R 1NF,若,若XY(Y X)是非平凡的多值依赖,且是非平凡的多值依赖,且X含有码,则称含有码,则称R 4NF如关系模式如关系模式CTB,CT,CB,码为,码为(C#, T#, B#),所以,所以CTB 4NFn如果如果R 4NFR 4NF, 则则R BCNFR BCNF 不允许不允许有非平凡且非函数依赖的有非平凡且非函数依赖的多值依赖多
36、值依赖 允允 许许的是的是函数依赖函数依赖(是平凡多值依赖)(是平凡多值依赖)如果一门课如果一门课Ci有有m个教员,个教员,n本参考书,则关系中分本参考书,则关系中分量为量为Ci的元组共有的元组共有mn个,数据冗余非常大个,数据冗余非常大n改造改造将将CTB分解为分解为CT(C,T),),CB(C,B),在分),在分解后的解后的关系中分量为关系中分量为Ci的元组共有的元组共有m + n个个 CT(C, T) 4NF CB(C, B) 4NF CT, CB是平凡多值依赖是平凡多值依赖4NF(续)(续)规范化小结规范化小结n关系数据库的规范化理论是数据库逻辑设计关系数据库的规范化理论是数据库逻辑设
37、计的工具。的工具。n一个关系只要其分量都是不可分的数据项,一个关系只要其分量都是不可分的数据项,它就是规范化的关系,但这只是最基本的规它就是规范化的关系,但这只是最基本的规范化。范化。n规范化程度可以有多个不同的级别规范化程度可以有多个不同的级别n规范化的主要目的是消除数据冗余。规范化的主要目的是消除数据冗余。n规范化程度过低的关系不一定能够很好地描规范化程度过低的关系不一定能够很好地描述现实世界,可能会存在插入异常、删除异述现实世界,可能会存在插入异常、删除异常、修改复杂、数据冗余等问题常、修改复杂、数据冗余等问题n一个低一级范式的关系模式,通过一个低一级范式的关系模式,通过模式分解模式分解
38、可以转换为若干个高一级范式的关系模式集可以转换为若干个高一级范式的关系模式集合,这种过程就叫合,这种过程就叫关系模式的规范化关系模式的规范化规范化小结规范化小结范式之间的关系范式之间的关系2NF4NF1NF3NF消除非主属性对码消除非主属性对码的部分函数依赖的部分函数依赖消除非主属性对码消除非主属性对码的传递函数依赖的传递函数依赖消除主属性对码的消除主属性对码的传递函数依赖传递函数依赖消除非平凡的多值消除非平凡的多值依赖依赖BCNF规范化的基本思想规范化的基本思想n消除不合适的数据依赖消除不合适的数据依赖n各关系模式达到某种程度的各关系模式达到某种程度的“分离分离”n采用采用“一事一地一事一地”的模式设计原则的模式设计原则 让一个关系描述一个概念、一个实体或者实体间让一个关系描述一个概念、一个实体或者实体间的一种联系。若多于一个概念就把它的一种联系。若多于一个概念就把它“分离分离”出出去去n所谓规范化实质上是概念的单一化所谓规范化实质上是概念的单一化规范化规范化n对不规范的关系进行分解后产生的缺点:性对不规范的关系进行分解后产生的缺点:性能比较低。能比较低。n会产生许多表,每个表有较少的列,这些表会产生许多表,每个表有较少的列,这些表必须用主、外码连接,因此查询数据必须用必须用主、外码连接,因此查询数据必须用到许多复杂的多表连接,降低性能。到许多复杂的多表连接,降
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 国际基础与金融 27
- 国际基础与金融 10
- 2026年《公共卫生执业医师》第三单元模拟试题一
- 2026年高考地理十校联考全真模拟试卷(三)及答案
- 2026年度艾滋病防治知识竞赛试卷(四)及答案
- 2026年安徽省省情知识竞赛试卷及答案(共十套)
- 提升电路制造工艺-优化生产流程提高效率质量
- 智慧光照:智灯引领家居-探索智能灯具在智慧家居的应用与展望
- 自动驾驶汽车的未来-汽车技术专家
- 确保市场公平竞争承诺书8篇
- 2026年山东春考《运输类专业知识》模拟试题及答案解析
- 道路施工安全培训教育课件
- 娃娃机店员工工作制度
- 2026宁夏宁国运新能源盐池区域管理中心招聘14人备考题库参考答案详解
- 2026年钻探工程的法律法规指导
- 2026年城区中小学春秋假托管服务实施方案
- 企业内部审计与纪检监察融合的实践案例
- 机动车检测站内审报告(依据补充技术要求)
- 集控值班员(技师)第二版理论题库
- GB/T 7233.2-2023铸钢件超声检测第2部分:高承压铸钢件
- 威纶触摸屏和CP1E的串口的无线通讯说明
评论
0/150
提交评论