破釜沉舟典故第5章 关系数据库理论与模式求精
5.6 对于关系模式r(R)=r(A,B,C,D,E)和函数依赖集F={A→BC,CD→E,B→D,E→A},试计算:
性文学
(1)A+,B+;
(2)r(R)的候选码。
解:(1)1)依据课本图5-8 计算F下A+的算法,计算A+:
第一次循环的执行步骤如下,结果为closure=ABCD。
步骤 FD closure
1. 初值 A
2. A→BC ABC
3. B→D ABCD
伊斯兰艺术博物馆
第二次循环的执行步骤如下,结果为closure=ABCDE。
步骤 FD closure
1. 初值 ABCD
2. CD→E ABCDE
3. E→A ABCDE
在第二次循环后的结果已经包含了所有的属性,算法终止。因此,A+=ABCDE。
2)依据课本图5-8计算F下A+的算法,计算B+:
第一次循环的执行步骤如下,结果为closure=BD。
步骤 FD closure
1. 初值 B
2. B→D BD
第二次循环的执行步骤如下,结果为closure=BD。
步骤 FD closure
1. 初值 BD
在第二次循环后的结果仍为closure=BD,函数依赖集F下属性B的属性闭包(B+)没有变化,算法终止。因此,B+=BD。
(2)由E→A,A→ABCDE推出E→ABCDE
由CD→E,E→ABCDE推出CD→ABCDE
由B→D推出BC→CD,由BC→CD , CD→ABCDE推出BC→ABCDE
∴A,E,CD和BC是r(R)的候选码。
5.7 对于关系模式r(R)=r(A,B,C,D,E)和函数依赖集F={A→BC,CD→E,B→D,E→A},证明分解r1(R1)=r1(A,B,C)和r2(R2)=r2(A,D,E)是无损分解。
解:由定义5.13知,当一个关系模式分解为两个关系模式时,该分解为无损连接分解的充要条件是两分解关系的公共属性包含r1(R1)的一个候选码或r2(R2)的一个候选码。
对于分解r1(R1)=r1(A,B,C)和r2(R2)=r2白山茶的花语(A,D,E),r1(R1)∩r2(R2)=A,且A→r1(R1),故此分解是无损连接分解。
5.8 对于关系模式r(R)=r(A,B,C,D,E,G)和函数依赖集F={AB→C,AC→B,AD→E,B→D,BC→A,E→G},判断下列分解是否是保持依赖分解?是否是无损连接分解?
(1){AB,BC,ABDE,EG};
(2){ABC,ACDE,ADG}。
解:由定义5.15知,称具有函数依赖集F的关系模式r(R)的分解r1(R1), r2(R2), ..., rn(Rn)为保持依赖∩分解,当且仅当(F1∪F2∪…∪Fn)+=F+。
(1)F1={},F2={},F3={AD寻找乐趣→E,B→E},F4={心灵之声E→G},
原函数依赖集中的函数依赖AB→C,AC→B, BC→A均不能从各分解Fi中推导出来,∴该分解不是保持函数依赖分解。
对于分解r1(R1)=r1(A,B)和r2(R2)=r2(B,C),r1(R1)∩r2(R2)=B,且Br1(R1)、Br2(R2),故此分解不是无损连接分解。
(2)F1={ AB→C,AC→B, BC→A},F2={AD→E},F3={},
原函数依赖集中的函数依赖B→D,AC→B, E→G均不能从各分解Fi中推导出来,∴该分解不是保持函数依赖分解。
对于分解r2(R2)=r2(A,C,D,E)和r3(R3)=r3(A,D,G),r2(R2)∩r3(R3)=AD,且ADr2(R2)、ADr3(R3),故此分解不是无损连接分解。
5.9 对于关系模式r(R)=r(A,B,C,D,E)和函数依赖集F={A→B,BC→E,ED→A},完成:
(1)列出r(R)的所有候选码;
(2)r(R)是否是3NF?是否是BCNF?
解:(1)候选码为:EDC,BCD,ACD
(2)函数依赖undefined-undefined的结果分别为B,E,A,均为候选码的部分属性,∴r(R)是3NF。
r(R)不是BCNF,因为函数依赖集F中的函数依赖的决定属性均不是超码。
5.10 对于关系模式r(R)=(A,B,C,D),对下列每个函数依赖分别完成:列出r(R)的候选码;指出r(R)最高满足哪种范式(1NF,2NF,3NF或BCNF);田径赛若r(R)不属于BCNF范式,则将其按下列依赖关系分解为BCNF范式。
(1){C→D,C→A,B→C};
(2){B→C,D→A};
(3){ABC→D,D→A};
(4){A→B,BC→D}。
解:(1)候选码为:B;∵存在传递函数依赖,∴最高满足2NF;分解为{BC,CDA};
(2)候选码为:BD;∵存在部分函数依赖,∴最高满足1NF;分解为{BC,DA};
(3)候选码为:ABC,DBC;∵D→A的决定属性D不是超码,∴最高满足3NF;分解为{ DA,BCD};
(4)候选码为:AC;∵存在传递函数依赖,∴最高满足2NF;分解为{AB,ACD}。