如何用FD解决R(A,B,C,D,E)(A - > B,AB - > D,AC - > E)

时间:2014-06-06 19:38:02

标签: rdbms database database-normalization

如何确保R(A,B,C,D,E 3NFBCNF具有以下功能依赖关系:

(A -> B, AB -> D, AC -> E)

如果他们不在3NF和BCNF,那么我应该如何拆分?

我认为AC和ACB是关键。因此,ABC是主要属性,DE是非主要属性。

感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

如果满足下列条件之一,则关系在BCNF中:

  

X→Y是一个平凡的函数依赖(Y⊆X)

     

X是架构R的超级键

     

Wikipedia

换句话说,如果行列式X是候选键或Y是X的子集,则该关系在BCNF中。此外,如果关系在BCNF中,它也将在3NF。

要确定行列式是否为超级密钥,您可以通过X的属性闭包对其进行测试。如果您不熟悉,我建议使用此Youtube video