
(精品)关系规范化理论复习题.doc
5页五、证明题已知关系模式R中,U={A,B,C,D, E, P},F={A→B, C→P, E→A, CE→D },证明CE→B为F所蕴含证明:即求CE关于函数依赖集F的闭包1) X(0)=CE (2)X(1)=CEAPD=ACDEP (3)X(2)= ACDEP B=ABCDEP=U因为B包含在CE的属性闭包中,所以CE→B为F所蕴含也可这样证: 因为E→A,根据自反律和传递律有CE→A 又因为A→B,根据传递律有CE→B六、设有关系模式R(U,F),其中:U={A,B,C,D,E},F={A→B,D→AB,C→AB,BE→A,AE→C }共15分)(仅理科生做)解:(1)求出F的最小函数依赖集5分)(1) a.先使F中的每个函数依赖的右部属性单一 F’={ A→B,D→A,D→B,C→A ,C→B,BE→A,AE→C } b.去除冗余的函数依赖 因为 C→A,A→B,所以C→B冗余 又因为D→A,A→B,所以D→B冗余判断A→B是否冗余设:G1={D→A, C→A,BE→A,AE→C},求(A)+G1=A∵B不属于(A)+G1 ∴A→B不冗余判断D→A是否冗余。
设:G2={A→B, C→A,BE→A,AE→C},求(D)+G2=D∵A不属于(D)+G2 ∴D→A不冗余判断C→A是否冗余设:G3={A→B, D→A,BE→A,AE→C},求(C)+G3=C∵A不属于(C)+G3 ∴ C→A不冗余判断BE→A是否冗余设:G4={A→B, D→A,C→A,AE→C},求(BE)+G4=BE∵A不属于(BE)+G4 ∴ BE→A不冗余判断AE→C是否冗余设:G5={A→B, D→A,C→A,BE→A},求(AE)+G5=ABE∵C不属于(AE)+G5 ∴ AE→C不冗余F={ A→B,D→A,C→A ,BE→A,AE→C } c.去除左边冗余的属性 对于BE→A 因为 (B)+F=B; A不属于(B)+F,所以E不冗余 (E)+F=E;A不属于(E)+F,所以B不冗余 对于AE→C因为(A)+F=AB; C不属于(A)+F,所以E不冗余 (E)+F=E;C不属于(E)+F,所以A不冗余Fmin={ A→B,D→A,C→A ,BE→A,AE→C }(2)求出R的侯选码。
3分)解:根据Fmin可知,R的L类属性是DE,LR类属性是ABC,因为(DE)+F = ABCDE=U,所以R具有唯一的候选码为DE3)指出R属于第几范式因为码为DE,而D→A,存在非主属性对码的部分依赖,所以R是1NF2分)(4)判断R的一个分解P={R1(DE),R2(AD),R3(ABE),R4(CE)}是否具有无损连接性5分)a. 首先构造原始表格ABCDER1(DE)b11b12b13a4a5R2(AD)a1b22b23a4b25R3(ABE)a1a2b33b34a5R4(CE)b41b42a3b44a5b. 根据A→B,所以把b22改为a2根据D→A,所以把b11都改为a1根据AE→C,所以把b33都改为b13经过F的一次扫描后,表格变成如下:ABCDER1(DE)a1b12b13a4a5R2(AD)a1a2b23a4b25R3(ABE)a1a2b13b34a5R4(CE)b41b42a3b44a5 因为表格中没有一行全为a,且改动了表中的符号,所以要对F进行第二次扫描c.在对F的第二次扫描中:根据A→B,所以把第一行的b12改为a2表格如下:ABCDER1(DE)a1a2b13a4a5R2(AD)a1a2b23a4b25R3(ABE)a1a2b13b34a5R4(CE)b41b42a3b44a5因为表格中没有一行全为a,且改动了表中的符号,所以要对F进行第三次扫描。
d. 在对表格进行第三次扫描时,没有改变表格中的一个符号,且没有一行全为a ,所以该分解不具有无损连接性5)将R分解成既具有函数依赖保持又具有无损连接性的3NF解:针对Fmin={ A→B,D→A,C→A ,BE→A,AE→C } 按照左部相同的原则进行分组,有:U1={AB}, U2={AD}, U3={AC}, U4={ABE}, U5={ACE}因为U3包含在U5中,所以把U3去掉;因为U1包含在U4中,所以把U1去掉得到分解P={R1(AD), R2(ABE), R3(ACE)}因为R的候选码DE不包含在任意子关系模式中,所以把DE作为一个子关系模式并入到分解中,P={R1(AD), R2(ABE), R3(ACE),R4(DE)}为既具有函数依赖保持又具有无损连接性的3NF分解五、证明题已知关系模式R中,U={A,B,C,D, E},F={A→BC, CD→E, B→D, E→A },证明BC→A为F所蕴含证明:即求BC关于函数依赖集F的闭包1)X(0)=BC (2)X(1)=BCD=BCD (3)X(2)= BCD E=BCDE (4) X(3)= BCDE A=ABCDE=U因为A包含在BC的属性闭包中,所以BC→A为F所蕴含。
六、设有关系模式R(U,F),其中:U={A,B,C,D,E},F={ C→D,B→E,C→B,CD→A,A→BE }共15分)(仅理科生做)解:(1)求出F的最小函数依赖集2分)a,将F中的函数依赖都分解为右部为单属性的函数依赖 F={ C→D,B→E,C→B,CD→A,A→B, A→E }b,去掉F中冗余的函数依赖2分)判断C→D是否冗余设:G1={B→E,C→B,CD→A,A→B, A→E},求(C)+G1=CBE∵D不属于(C)+G1 ∴C→D不冗余判断B→E是否冗余设:G2={C→D, C→B,CD→A,A→B, A→E},求(B)+G2=B∵E不属于(B)+G2 ∴ B→E不冗余判断C→B是否冗余设:G3={C→D,B→E, CD→A,A→B, A→E},求(C)+G3=CDABE∵B属于(C)+G3 ∴C→B冗余判断CD→A是否冗余设:G4={C→D,B→E,A→B, A→E},求(CD)+G4=CD∵A不属于(CD)+G4 ∴ CD→A不冗余判断A→B是否冗余设:G5={C→D,B→E,CD→A, A→E},求(A)+G5=AE∵B不属于(A)+G5 ∴A→B不冗余判断A→E是否冗余。
设:G6={C→D,B→E,CD→A,A→B},求(A)+G6=ABE∵E属于(A)+G6 ∴ A→E冗余F={C→D,B→E,CD→A,A→B}c.去除左边冗余的属性 对于 CD→A(C)+F=CDABE;因为A包含在(C)+F中,所以D冗余 (D)+F=D 因为A不包含在(D)+F中,所以C不冗余 ∴ CD→A可用C→A代替Fmin={C→D,B→E,C→A,A→B}(2分)(2)求出R的侯选码3分)解:根据Fmin可知,R的L类属性是C,LR类属性是AB,R类属性是DE因为(C)+F =ABCDE,所以R具有唯一的候选码为C3)指出R属于第几范式因为码为C,而C→A, A→B,存在非主属性对码的传递依赖,所以R是2NF3分)(4)判断R的一个分解P={R1(AB),R2(BE),R3(ACD)}是否具有无损连接性a.首先构造原始表格(6分) ABCDER1(AB)a1a2b13b14b15R2(BE)b21a2b23b24a5R3(ACD)a1b32a3a4b35b.然后根据Fmin来改造表格Fmin={C→D,B→E,C→A,A→B}根据B→E,所以把b15改为a5。
根据A→B,所以把b32改为a2经过F的一次扫描后,表格变成如下:ABCDER1(AB)a1a2b13b14a5R2(BE)b21a2b23b24a5R3(ACD)a1a2a3a4b35没有一行全为a,必须对表格进行第二遍扫描根据B→E,所以把b35改为a5ABCDER1(AB)a1a2b13b14a5R2(BE)b21a2b23b24a5R3(ACD)a1a2a3a4a5此时已有一行全为a,所以该分解具有无损连接性5)将R分解成既具有函数依赖保持又具有无损连接性的3NF解:针对Fmin={C→D,B→E,C→A,A→B} 按照左部相同的原则进行分组,有:U1={CD}, U2={BE }, U3={AC}, U4={AB}得到分解P={R1(CD), R2(BE), R3(AC), R4(AB)}因为R的候选码C包含在子关系模式R1和R3中所以分解P={R1(CD), R2(BE), R3(AC), R4(AB)}为既具有函数依赖保持又具有无损连接性的3NF分解。
