【问题标题】:How to convert these functional dependencies into 3NF?如何将这些函数依赖转化为 3NF?
【发布时间】:2015-07-27 18:16:22
【问题描述】:

如何在 3NF 中使用 FD 的形式设计方案

a -> t;  b -> v;  b -> w;  {a, b} -> {z, k};  w ->y;  w -> m;  a ->s;
b ->j; w -> p;

【问题讨论】:

    标签: normalization 3nf


    【解决方案1】:
    • FD1: a -> t;
    • FD2: b -> v;
    • FD3: b -> w;
    • FD4: a, b -> z, k;
    • FD5: w -> y;
    • FD6: w -> m;
    • FD7: a -> s;
    • FD8: b -> j;
    • FD9: w -> p;

    关系 R(A,B,J,K,M,P,S,T,V,W,Y,Z); (A,B) 是主键,因为它通过推理规则确定所有其他属性。

    至少 2NF,对关键属性没有部分依赖。

    部分依赖主键的FD是FD1、FD2、FD3、FD7和FD8。在关系分解之后,我们有以下一组至少在 NF2 中的关系:

    • R1(A,T,S) -- FD1 和 FD7
    • R2(B,J,M,P,V,W,Y) -- FD2、FD3、FD5、FD6、FD8 和 FD9
    • R3(A,B,K,Z) -- FD4

    至少 3NF,对关键属性没有传递依赖。

    FD5、FD6 和 FD9 是传递依赖关系,因此将它们移动到单独的关系中。

    • R1(A,T,S) -- FD1 和 FD7
    • R21(B,J,V,W) -- FD2、FD3 和 FD8
    • R22(W,M,P,Y) -- FD5、FD6 和 FD9
    • R3(A,B,K,Z) -- FD4

    【讨论】:

      猜你喜欢
      • 2015-01-03
      • 1970-01-01
      • 2017-04-02
      • 2016-10-11
      • 1970-01-01
      • 2014-04-05
      • 1970-01-01
      • 1970-01-01
      • 2011-02-06
      相关资源
      最近更新 更多