如何从功能依赖中确定键

How to determine keys from functional dependencies

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

我知道当依赖项右侧缺少某些属性时如何找到键。 但是这里所有的属性都出现在右边。 我不确定如何找到密钥,也找不到针对此特定示例的解释。

我的回答基于 and https://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)