这是有损加入和依赖保留吗?

时间:2014-02-21 14:53:00

标签: database database-design relational-database database-schema

我正在阅读此主题功能依赖和数据库管理主题中的规范化。我遇到了这个例子。

关系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。这也满足第二个条件。我在理解这个概念时犯了任何错误。

1 个答案:

答案 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)。这是一个线索。