如果我有关系R(A,B,C,D,E)并且FD是A - > C,AB - > D,CD - > E,E是否完全依赖于AB?

时间:2015-04-15 08:06:59

标签: database database-design normalization database-normalization functional-dependencies

假设我们有关系R(A,B,C,D,E)

FD是:
A - > ç
AB - > d
CD - > È

我知道关键是AB。

我的问题是: E是完全还是部分依赖AB?

我认为它完全依赖,因为如果我使用FD推理规则AB确定E.但是,我的同事说E部分依赖于AB,因为C部分依赖于AB。什么是正确的?

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

它在AB上完全依赖,因为您没有依赖项(即使是可传递的)A->EB->E。实际上,它意味着:如果我告诉你A B的价值,你无法告诉我E的价值 - 你需要两个值来推断该值。看看this short page on functional dependencies:

  

Y完全在功能上依赖于X,并且不应该有任何Z→Y,其中Z是X的适当子集。

在此上下文中,AB将是子集。

从更大的角度看待你的整个关系,它似乎是一种理论建构。至少它的设计很差:

  • CD -> E 打破第3范式
  • A -> C 打破第二范式 - C部分依赖于AB