R(A,B,C,D)是一种关系。以下哪项没有无损连接、保持依赖性的BCNF分解? (A) A->B,B->CD (B) A->B,B->C,C->D (C) AB->C,C->AD (D) A->BCD 答复: (C) 说明: 背景:
null
-
无损连接分解: 如果F+中至少有一个函数依赖项(函数依赖项的闭包),则R分解为R1和R2是无损连接分解
R1 ∩ R2 → R1 OR R1 ∩ R2 → R2
- 依赖保持 : 如果分解后函数依赖项的闭包与分解前FDs的闭包相同,则R分解为R1和R2是一种保持依赖项的分解。 一个简单的方法是检查我们是否可以从分解后的FD中导出所有原始FD。
问题: 我们知道,对于无损分解,公共属性应该是其中一个关系中的候选键。
A) A->B,B->CD
R1(AB)和R2(BCD)
B是第二个的关键,因此 分解是无损的。
B) A->B,B->C,C->D
R1(AB)、R2(BC)、R3(CD)
B是第二把钥匙,C是第三把钥匙, 因此是无损的。
C) AB->C,C->AD
R1(ABC),R2(CD)
C是秒的键,但C->A违反了ABC中的BCNF条件,因为C不是键。我们不能将ABC进一步分解为AB->C 依赖性就会消失。
D) A->BCD
已经在BCNF了。
因此,选项C AB->C,C->AD就是答案。 这个问题的小测验
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END