资源描述
,单击此处编辑母版标题样式,*,单击此处编辑母版文本样式,第二层,第三层,第四层,第五层,6.4 模式的分解*,分解的目的,解决冗余和特别,提高范式等级,分解的概念,用原关系模式的假设干个投影构成新的关系模式,即,关系模式分解应满足的特性,无损连接性(Lossless join),保持函数依靠性(Preserve dependency),相互独立性,分解后的关系模式中,当修改某一个关系数据时,不会影响其他关系,例子分析,设S-C-M学号,班级,班主任,F=学号班级,班级班主任,学号班主任,存在传递依靠,为2NF,有三种分解:,该关系属于几范式?,范式?,3NF,三种特性?,例子,教材P188,例4,算法6.2:,检验一个分解是否具有无损连接性*,A,B,C,D,E,a1,a2,a3,b14,b15,b21,b22,a3,a4,b25,b31,b32,b33,a4,a5,A,B,C,D,E,a1,a2,a3,a4,a5,b21,b22,a3,a4,a5,b31,b32,b33,a4,a5,初始表:,最终结果:,R1,R2,R3,R1,R2,R3,1,2,2,例子:推断无损连接性*,A,B,C,D,E,a1,a2,a3,a3,a4,a4,a5,A,B,C,D,E,a1,a2,a3,a4,a5,a3,a4,a5,a4,a5,初始表:,最终结果:,R1,R2,R3,R1,R2,R3,1,2,2,简易方法:只画关注数据,例子,R(A,B,C),F=A,B,C,B,分解1=(A,B)A,B,(A,C),分解2=(A,B)A,B,(B,C)C,B,分析两种分解的无损连接性?,分解1只具有无损连接性,分解2不具有无损连接性,A,B,C,a1,a2,a1,a3,AB,AC,a2,A,B,C,a1,a2,a2,a3,AB,BC,定理6.5:,检验一个关系模式分解为两个子模式时是否具有无损连接性*,对于R的一个分解R1,R2,假设U1U2U1-U2F+或U1U2U2-U1F+,则此分解具有无损连接性。,例子,R(A,B,C),F=AB,C B,分解1=(A,B)AB,(A,C),分解2=(A,B)AB),(B,C)C B,分析两种分解的是否保持无损连接性?,分解1:(A,B)(A,C)(A,B)-(A,C)F+,有AB,明显,分解1具有保持无损连接性,分解2:(A,B)(B,C)(A,B)-(B,C)F+,,(A,B)(B,C)(B,C)-(A,B)F+,,明显,分解2不具有保持无损连接性,算法:检验一个分解是否具有保持函数依靠性,例子,R(A,B,C),F=AB,C B,分解1=(A,B)AB,(A,C),分解2=(A,B)AB),(B,C)C B,分析两种分解的依靠保持性?,分解1:只有AB,明显,分解1不具有依靠保持性,分解2:保存了全部函数依靠,具有依靠保持性,简洁练习:判定无损连接性和函数依靠性,设S-C-MS学号,C班级,M班主任,F=S学号C班级,C班级M班主任,S学号M班主任,几个命题,一个无损连接的分解不肯定具有依靠保持性,反之亦然,假设要求模式分解保持函数依靠,则模式分别总能到达3NF,但不肯定能到达BCNF,假设要求分解既保持函数依靠,又具有无损连接性,则模式分别可以到达3NF,但不肯定能到达BCNF,假设要求分解具有无损连接性,则模式分别肯定可以到达4NF,算法6.3:求R的保持函数依靠的3NF分解*,算法6.4:求R的无损连接且保持函数依靠的3NF分解*,由于IS是ISQ的子集,所以R分解为SD,IB,ISQ,BO,算法6.5:分解法)转换为BCNF的无损连接分解*,例:R(U,F),U=X,Y,Z,F=YZ,XZY,在保持无损连接的状况下分解为BCNF。,解答:R的侯选码为XY和XZ;R为3NF。,由于存在着YZ,而Y不是码,依据算法6.5将R分解为R1Y,Z,YZ,R2X,Y全码,作业,第四版,P195 习题1,2,5,12,思考:10,11,自由选做,
展开阅读全文