我陷入了标准化。我已经正常化到 3NF。但是我不知道如何执行 BCNF。3NF 表列表如下所示。
- 表1(A、B、C);FD:A -> B,A -> C。
- 表2(D,E);FD:D -> E。
- 表3(A、D、F);FD {A, D} -> F
- 表4(A、D、H、I、J、K);FD: {A, D, H, I} -> J。
如上例所述,我不知道如何为 Table4 应用 BCNF。根据要求,属性 K 没有任何依赖关系。我假设我们必须在表 4 中应用 BCNF。请求您在这方面提供帮助。谢谢
我陷入了标准化。我已经正常化到 3NF。但是我不知道如何执行 BCNF。3NF 表列表如下所示。
阿姆斯特朗公理:
增广公理:如果 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
希望这可以帮助。