L3 Info : SGBD
 
◃  Ch. 2 Le Modèle Relationnel  ▹
 

Recherche d'une couverture minimale d'un ensemble de df

  • Algorithme :
    On ordonne les df de F. Soit F=(X1→Y1, X2→Y2, ... Xn→Yn)
    
    Étape 1 : on décompose les membres droits Yi des df de F
        POUR i de 1 à n FAIRE
            Si Yi=A1A2...As avec s>1 Alors 
                F:= F-(Xi→Yi)∪(Xi→A1, Xi→A2, ... Xi→As)
    On suppose que par la suite on a : F=(X1→A1, X2→A2, ... Xp→Ap)
    
    Étape 2 : on regarde si on peut enlever des df de F sans modifier sa fermeture
        POUR i de 1 à p FAIRE
            Si F-(Xi→Ai) ⇒ (Xi→Ai) Alors F:=F-(Xi→Ai)
    On suppose que par la suite on a : F=(X1→A1, X2→A2, ... Xq→Aq)
    
    Étape 3 : On cherche à réduire le nombre d'attributs des membres gauches.
        POUR i de 1 à q FAIRE
            Si Xi=B1B2...Br avec r>1 Alors
                POUR j de 1 à r FAIRE
                    Si F ⇒ (Xi-Bj)→ Ai Alors
                         Xi := Xi-Bj