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

If I have relation R(A,B,C,D,E) and the FDs are A -> C, AB -> D, CD -> E, is E fully functional dependent on AB?

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

FD 是:
A -> C
AB -> D
CD -> E

我知道关键是AB。

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

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

感谢您的帮助

完全依赖 AB,因为你没有依赖(甚至是传递依赖)A->EB->E。实际上,这意味着:如果我告诉你 A B 的值,你不能告诉我 E 的值 - 你需要 两个 值来推导该值。看看this short page on functional dependencies:

Y is fully functionally dependent on X and there should not be any Z→Y, Where Z is a proper subset of X.

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

从更大的角度来看你们的整个关系,这似乎是一种理论建构。至少它会设计得很糟糕:

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