数据库关系作业帮助

时间:2011-04-12 02:48:59

标签: database relational

问题“考虑具有五个属性ABCDE的关系R.您将获得以下依赖

  1. A-> B
  2. BC-&GT,E
  3. ED->一种
  4. 列出R的所有键。

    老师给了我们钥匙,这些钥匙是ACD,BCD,CDE

    我们需要展示他们的工作。

    前两个我解决了。

    对于BCD,2与3的传递得到(BC-> E)D-> A => BCD->一种并且对于ACD id,1和4的传递(BCD),得到(A-> B)CD-> A => ACD->一种

    但我无法弄清楚如何获得CDE。

    所以看来我做错了,谷歌搜索后我发现了这个答案

    1. 查找键的方法: 考虑属性集α包含:a。 F的决定性属性(即A,BC, ED)和b。属性不包含在确定的属性中(即C,D)。然后 做属性闭包算法: 如果α+超集R则α - > [R 三个键:CDE,ACD,BCD Source
    2. 据我所知,由于C,D不在依赖项的左侧。键是左侧,CD预先附加到它们。任何人都可以更详细地向我解释这个原因吗?

1 个答案:

答案 0 :(得分:2)

要获得,您可以从其中一个依赖项开始,并使用推理来扩展该集。

让我用简单的英语,你可以很容易地找到网络的正式定义。

e.g。从3)开始。

ED -> A

(知道E和D,我知道A)

ED ->AB

(知道E和D,我知道A,知道A,我也知道B)

ED->AB

仍然,C无法知道,我现在已经使用了所有规则,除了BC-> E, 所以我在左侧添加了C,即

CDE ->AB

所以,通过了解C,D和E ,您将知道 A B , 因此, CDE是您关系ABCDE的关键。重复相同的过程,从其他规则开始直到用尽。