如何确保R(A,B,C,D,E
3NF
和BCNF
具有以下功能依赖关系:
(A -> B, AB -> D, AC -> E)
如果他们不在3NF和BCNF,那么我应该如何拆分?
我认为AC和ACB是关键。因此,ABC是主要属性,DE是非主要属性。
感谢任何帮助!
答案 0 :(得分:0)
如果满足下列条件之一,则关系在BCNF中:
X→Y是一个平凡的函数依赖(Y⊆X)
X是架构R的超级键
换句话说,如果行列式X是候选键或Y是X的子集,则该关系在BCNF中。此外,如果关系在BCNF中,它也将在3NF。
要确定行列式是否为超级密钥,您可以通过X的属性闭包对其进行测试。如果您不熟悉,我建议使用此Youtube video。