我有以下关系:
{ a , b , c , d , e , f , g , h }
具有以下功能依赖性:
A -> B,C,D
A,D -> E
E,F,G -> H
F -> G,H
我的理解是此关系的最小键是{a,f}
,因为您可以通过b,c,d,e
到达a
,并从g,h
到达f
。
但是我被告知实际的最小密钥是{a,f,e}
有人可以解释我在这里可能出错的地方吗?
答案 0 :(得分:2)
你是对的。 AFE
实际上是超级密钥而不是(最小)候选密钥,而唯一的候选密钥是AF
。通过使用Armstrong's axioms计算其闭包,可以很容易地证明AF
是候选键。以下是使用主要和次要规则的派生:
1. A → B C D (given)
2. F → G H (given)
3. A F → B C D G H (by composition of 1. and 2.)
4. A → D (by decomposition of 1)
5. A → A D (by augmentation of 4)
6. A D → E (given)
7. A → E (by transitivity of 5 and 6)
8. A F → B C D E G H (by composition of 3 and 7)
9. A F → A B C D E F G H (by augmentation of 8)