我无法理解为什么一组特定的功能依赖关系不是最小的。我们R(A,B,C,D,E,F,G)
与以下依赖项 F 有关系:
1. A->CDE
2. B->FG
3. AB->CDEFG
F 的最小覆盖只是依赖 1 和 2。很直观,属性 CDEFG 已经分别由 A 和 B 确定。因此,没有新的属性是由 AB 的并集决定的。是否有确定这种依赖关系(AB->CDEFG 的联合)是多余的确切规则?
到目前为止,本书中列出的阿姆斯壮规则是:
IR1 (reflexive rule): If X ⊇ Y, then X →Y.
IR2 (augmentation rule): {X → Y} |=XZ → YZ.
IR3 (transitive rule): {X → Y, Y → Z} |=X → Z.
和
IR4 (decomposition, or projective, rule): {X → YZ} |=X → Y.
IR5 (union, or additive, rule): {X → Y, X → Z} |=X → YZ.
IR6 (pseudotransitive rule): {X → Y, WY → Z} |=WX → Z.
我不确定哪个规则负责AB->CDEFG
. 联合规则似乎很接近,但左侧属性被列为相同(均为 X),FD1 U FD2
在我的情况下我不能说。
我们可以这样推导出 AB → CDEFG:
请注意,通常不需要使用 Armstrong 公理进行一些证明来找到最小覆盖,但足以使用数据库书籍中介绍的算法之一。