《数据库》第5章习题答案

[习题5.4]已知关系模式R(ABC),F是R上成立的FD集,F={A→B,B→C},试写出F的闭包F+。

《数据库》第5章习题答案

5.7 设关系模式R(ABCD),F是R上成立的FD集,F={A→B,C→B},则相对于F,试写出关系模式R的关键码。并说明理由。

解:R的关键码为ACD,因为从已知的F,只能推出ACD→ABCD。

5.8 设关系模式R(ABCD),F是R上成立的FD集,F={A→B,B→C}

①试写出属性集BD的闭包(BD)+。

②试写出所有左部是B的函数依赖(即形为“B→?”)。

解:①从已知的F,可推出BD→BCD,所以BD的闭包(BD)+=BCD。

②由于B+=BC,因此左部是B的FD有四个:

B→Φ,B→B,B→C,B→BC

5.11 设关系模式R(ABC),F是R上成立的FD集,F={ A→C,B→C},试分别求

F 在模式AB和AC上的投影。

解:πAB(F)=Φ(即不存在非平凡的FD)

πAC(F)={A→C}

5.12 设关系模式R(ABC),F是R上成立的FD集,F={B→A,C→A},

ρ={AB,BC}是R上的一个分解,那么分解ρ是否保持FD集F?并说明理

由。

解:已知F={B→A,C→A},而πAB(F)={B→A},πBC(F)=Φ,显然,分解ρ丢失了FD C→A。

5.13 设关系模式R(ABC),F是R上成立的FD集,F={B→C,C→A},那么分

解ρ={AB,AC}相对于F,是否无损分解和保持FD?并说明理由。

解:(1)已知F={B→C,C→A}

而πAB(F)={B→A},πAC(F)={C→A}

显然,这个分解丢失了FD B→C。

(2)用测试过程可以知道,分解ρ相对于F是损失分解。

5.14 设关系模式R(ABCD),F是R上成立的FD集,F={A→B,B→C,A→D,

D→C},ρ={ AB,AC,BD}是R的一个分解。

①相对于F, ρ是无损分解吗?为什么?

②试求F在ρ的每个模式上的投影。

③ρ保持F吗?为什么?

解:①用测试过程可以知道,ρ相对于F是损失分解。

②πAB(F)={A→B},πAC(F)={A→C},πBD(F)=Φ。

③显然,分解ρ不保持FD集F,丢失了B→C,A→D,和D→C等三个

相关推荐
相关主题
热门推荐