0

我陷入了标准化。我已经正常化到 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. 表4(ADHI、J、K);FD: {A, D, H, I} -> J。

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

1 回答 1

1

阿姆斯特朗公理:

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

因此,这可以应用于表 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} -> 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

希望这可以帮助。

于 2015-05-06T11:32:22.040 回答