如何从功能依赖关系中确定键

时间:2019-06-16 16:02:45

标签: relational-database database-normalization functional-dependencies candidate-key

我正在尝试查找关系的键 R = ABCDE,具有功能依赖性 AB-> C,C-> D,C-> E,D-> A,E-> B

当依赖项的右侧缺少一些属性时,我知道如何查找键。 但是,此处所有属性都显示在右侧。 我不确定如何找到键,也找不到此特定示例的说明。

1 个答案:

答案 0 :(得分:0)

我的答案基于https://stackoverflow.com/a/43467969/206413https://djitz.com/neu-mscs/answers-to-candidate-key-hard-questions/

(1) AB -> C
(2) C -> D
(3) C -> E
(4) D -> A
(5) E -> B

AB+ = (1) ABC               = (2, 3) ABCDE
C+  = (2, 3) CDE = (4) ACDE = (5)    ABCDE
D+  =                       = (4)    AD
E+  =                       = (5)    BE

到目前为止,我们有(AB, C)个候选人。

进一步探索:

D+ = AD => DAB+ = ABCDE
E+ = BE => EAB+ = ABCDE

因此我们的候选人是(AB, C, DAB, EAB)