来自功能依赖的最小键

Minimal key from Functional Dependancies

我有以下关系:

{ a , b , c , d , e , f , g , h }

具有以下功能依赖性:

A -> B,C,D
A,D -> E
E,F,G -> H
F -> G,H

我的理解是这个关系的最小键是 {a,f} ,因为你可以通过 a 到达 b,c,d,e ,并从 [=16= 到达 g,h ].

然而我被告知实际的最小密钥是 {a,f,e}

任何人都可以解释我这里可能哪里出错了吗?

你是对的。 AFE 实际上是一个超级键而不是(最小)候选键,而唯一的候选键是 AFAF 是一个候选键,可以通过使用 Armstrong's axioms 计算其闭包来轻松证明。这是使用主要和次要规则的推导:

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)