我正在阅读此主题功能依赖和数据库管理主题中的规范化。我遇到了这个例子。
关系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
现在回答的是option C.
选项C. 如何成为有损分解。如果你这样做ABC union CAD = ABCD
这满足了第一个条件。
如果我们ABC intersection CAD = AC
完全正常,since in AC, C is key for (CAD) C -> AD decomposition
。这也满足第二个条件。我在理解这个概念时犯了任何错误。
答案 0 :(得分:1)
通常,对于规范化/分解练习,您将获得:
完整关系及其属性。 [是:R(A,B,C,D)]
功能依赖。 [是?它看起来像。,b。,c。,d。是可能的乐趣组。]
建议的分解。 [经常命名为R1,R2等。我看不到那些。我不能解释选项d。建议分解。]
也许你的帖子错过了部分练习?也许练习要求您决定哪个解压缩保留了BCNF中的依赖关系? (但导致有损连接。)
[编辑以回应Nikhil的评论]注意,单独的FD列表不等于分解:FD C - > AD是C - >的简写。 A,C - > D.这是否意味着两种分解关系?不,因为A和C已经在FD AB中 - > C.所以我们有R1 =(A,B,C),R2 =(C,D)。但我不知道这是否是演习所要求的。想一想。选项d是什么在分解方面意味着什么?
也许这个练习要求(例如):给定分解成R1 =(A,B)和R2 =(B,C,D),哪一组FD会给出有损分解?
这里有一个有用的例子:http://en.wikipedia.org/wiki/Lossless-Join_Decomposition。
它指向之前的q Lossless Join Property。
还有进一步的参考资料。
顺便说一句,选项a。,b。,包括与选项d相同的Fun Deps,依赖关系的传递性(Armstrong的Axioms http://en.wikipedia.org/wiki/Armstrong%27s_axioms另见http://en.wikipedia.org/wiki/Heath%27s_theorem)。这是一个线索。