【问题标题】:Need assistance in Boyce Codd Normal Form在 Boyce Codd 范式中需要帮助
【发布时间】:2015-05-06 19:32:22
【问题描述】:

我陷入了标准化。我已经正常化到 3NF。但是我不知道如何执行 BCNF。 3NF表列表如下所示。

  1. 表 1(A、B、C); FD:A -> B,A -> C。
  2. 表2(D,E); FD:D -> E。
  3. 表 3(AD、F); FD {A, D} -> F
  4. Table4(ADHI、J、K); FD:{A、D、H、I} -> J。

    如上例所述,我不知道如何为 Table4 应用 BCNF。根据要求,属性 K 没有任何依赖关系。我假设我们必须在表 4 中应用 BCNF。请求您在这方面提供帮助。谢谢

【问题讨论】:

    标签: database database-normalization bcnf


    【解决方案1】:

    阿姆斯特朗公理:

    增广公理: 如果 X->Y,那么 XZ->YZ 对任意 Z

    所以,这可以应用于表 4,

    IN Table 4,FD: {A, D, H, I} -> J. 可以写成 FD: {A, D, H, I,K} -> {J,K}

    然后,我们可以应用分解公理,

    分解: 如果 X -> YZ 则 X -> Y 和 X -> Z

    所以,应用到 table4,我们得到,

    FD: {A, D, H, I,K} -> J,
    FD: {A, D, H, I,K} -> 克

    所以,table4的两个FD是:

    FD: {A, D, H, I} -> J,
    FD: {A, D, H, I,K} -> {J,K}

    因此{A,D,H,I,K}是一个超级键,根据BCNF的定义,我们得到table4在BCNF中

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 2023-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-09
      相关资源
      最近更新 更多