在给定关系和FD的情况下找到一组属性的闭包

时间:2016-03-20 18:09:07

标签: relation functional-dependencies data-management

我有以下关系:

R = BCDEFGHI

以及以下的FD

C -> D
E -> D
EF -> G
EG -> F
FG -> E
FH -> C
H -> B

我要求找到以下属性集的关闭:

  1. BC

  2. BDEFG

  3. CEFG

  4. EFG

  5. EFGH

  6. 我的尝试

    1. BC+ = BC

      • 使用FD C -> D,我们已DC+ = BCD,我们已完成。
    2. BDEFG+ = BDEFG

      • 我们已经完成了。
    3. CEFG+ = CEFG

      • 使用FD C -> D,然后CEFG+ = CEFGD,我们就完成了。
    4. EFG+ = EFG

      • 使用FD E -> D,然后EFG+ = EFGD,我们就完成了。
    5. EFGH+ = EFGH

      • 使用FD E -> D,然后使用EFGH+ = EFGHD

      • 使用FD FH -> C,然后使用EFGH+ = EFGHDC

      • 使用FD H -> B,然后EFGH+ = EFGHDCB,我们已完成。

    6. 由于我对这些主题不熟悉,我不确定我所做的是否正确。我很感激您的一些反馈!谢谢!

1 个答案:

答案 0 :(得分:0)

看起来不错。 (假设你正确地完成了你没有提到的步骤,即重新处理你没有提及并重新停止的FD的决定。)

(不要说闭包等于什么时候没有。使用一些名称算法的累加器就像" 1.让F = BC。使用。 ..然后让F = BCE;完成所以BC + = F = BCE"或者写一些像" 1.找到BC +:使用...然后BC +> = BCE;完成BC + = BCE&#34 ;)