Estou tendo problemas para entender por que um determinado conjunto de dependências funcionais não é mÃnimo. Temos uma relação R(A,B,C,D,E,F,G)
com as seguintes dependências F:
1. A->CDE
2. B->FG
3. AB->CDEFG
A cobertura mÃnima de F é apenas a dependência 1 e 2. É intuitivo que os atributos CDEFG já sejam determinados por A e B separadamente. Portanto, nenhum novo atributo é determinado pela união de AB. Existe uma regra exata que determine que tal dependência (união de AB->CDEFG) seja redundante?
As regras de Armstrong listadas até agora no livro são:
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.
e
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.
Não tenho certeza de qual regra é responsável pela redundância de AB->CDEFG
. A regra de união parece próxima, mas os atributos do lado esquerdo são listados como sendo os mesmos (ambos X), o que não posso dizer FD1 U FD2
no meu caso.
Podemos derivar AB → CDEFG desta forma:
Note que em geral para encontrar uma cobertura mÃnima não é necessário realizar alguma prova usando os axiomas de Armstrong, mas é suficiente usar um dos algoritmos apresentados nos livros de banco de dados.