部分依赖

时间:2017-07-05 12:33:10

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

假设我们有一个关系R(A,B,C,D,E)与候选键{A,B},{C,D},并且让E为非素数属性。

如果存在依赖关系C-> E,则它是部分依赖关系,因为E取决于候选关键字{C,D}的一部分

依赖BC-> E部分?

1 个答案:

答案 0 :(得分:3)

  

如果存在依赖关系C-> E,则它是部分依赖关系,因为E取决于候选关键字{C,D}的一部分

“as as”不健全。它不符合"partial functional dependency"的定义。我们需要记住&完全应用定义。 (您使用的是哪些已发表的学术参考资料?)

FD X→Y在它保持时是部分的并且X的一些适当/较小的子集也确定Y.如果所有X属性都在该关系中,则当X的某个适当/较小的子集也确定Y时,FD X→Y是部分的。 (因为阿姆斯特朗的公理说子集FD意味着X FD。)

这里FD C→E在{}→E时是部分的。(即当所有行具有相同的E值时。)阿姆斯特朗的公理说,自从AB& CD是钥匙。持有的合并FD不能成为E prime。但事实证明,我们仍然无法知道{}→E是否成立。因此,如果C→E,那么我们无法知道C是否部分地确定了E.

  

依赖BC-> E部分?

这里FD BC→E是部分当BC的某个适当/较小的子集确定E.即当B→E,C→E或{}→E。事实证明我们不知道这四个中是否有任何一个FD持有。所以我们不知道是BC→E,更不用说它是否是偏的。虽然如果B→E或C→E,则FD BC→E是部分的。 (因为B& C是BC的适当/较小的子集。)

(通常我们知道持有的FD的封面,它确定所有持有的FD,它决定了CK和非素数属性。然后因为我们知道所有持有的FD,我们可以确定哪些是偏的CKs与FD是否部分无关。)