解释 DBMS 中属性的闭包

属性 x 的闭包是所有属性的集合,这些属性是相对于 F 对 X 的函数依赖。它用 X +表示,这意味着 X 可以确定什么。

算法

让我们看看计算 X +的算法

  • 步骤 1 - X + = X

  • 步骤 2 - 重复直到 X +不改变

    • 如果 Y ⊆ X +那么 X + = X + UZ

    • 对于 F 中的每个 FD Y->Z

    示例 1

    考虑一个关系 R(A,B,C,D,E,F)

    F:E->A、E->D、A->C、A->D、AE->F、AG->K。

    找到 E 或 E +的闭包

    解决方案

    E 或 E+ 的闭包如下 -

      E+ = E

        =EA       {for E->A add A}

        =EAD      {for E->D add D}

        =EADC     {for A->C add C}

        =EADC     {for A->D D already added}

        =EADCF    {for AE->F add F}

        =EADCF    {for AG->K don’t add k AG ⊄ D+)

    示例 2

    让关系 R(A,B,C,D,E,F)

    F:B->C,BC->AD,D->E,CF->B。找到 B 的闭包。

    解决方案

    B 的闭包如下 -

    B + = {B,C,A,D,E}

    Closure 用于寻找 R 的候选键并计算 F +

    R 的候选键:如果 X->{R},X 是 R 的候选键

    例如,

    R(A,B,C,D,E,F)其中 F:A->BC、B->D、C->DE、BC->F。然后,找到 R 的候选键。

    解决方案

    A + = {A,B,C,D,E,F}={R}=>A 是候选键

    B + = {B,D} => B 不是候选键

    C + = {C,D,E} => C 不是候选键

    BC + = {B,C,D,E,F} => BC 不是候选键

    F (F+) 的闭包:F+ 是可以从 F 推断/导出的所有 FD 的集合。在 F 上重复使用阿姆斯壮公理,我们可以计算所有 FD。

    示例

    R(A,B,C,D,E)和 F:A->B,B->C,C->D,A->E。找到 F 的闭包

    解决方案

    A + = {A,B,C,D,E}

    B + = {B,C,D}

    C + = {C,D}

    F + = {A->A, A->B, A->C, A->D, A->E, B->B, B->C, B->D, C->C, C -> D}

    以上是 解释 DBMS 中属性的闭包 的全部内容, 来源链接: utcz.com/z/341382.html

    回到顶部