Bases de Donn ´ees : 3
`emeForme Normale (3NF)
St ´ephane Devismes
Universit ´e Grenoble Alpes
26 ao ˆut 2020
S. Devismes (UGA) 3NF 26 ao ˆut 2020 1 / 30
Plan
1 3`emeForme Normale
2 Exemple g ´en ´eral
3 Autres formes normales
S. Devismes (UGA) 3NF 26 ao ˆut 2020 2 / 30
3`emeForme Normale Exemple g ´en ´eral Autres formes normales
Justification
On a vu qu’on sait toujours calculer une d ´ecomposition BCNF qui
´eviter les redondancesOUquipr ´eserve les d ´ependances.
En g ´en ´eral il n’existe pas de d ´ecomposition BCNF qui satisfait `a la fois ces deux propri ´et ´es.
Pour obtenir une d ´ecomposition qui v ´erifie `a la fois les deux
propri ´et ´es, on affaiblit la propri ´et ´e de normalisation de Boyce-Codd.
S. Devismes (UGA) 3NF 26 ao ˆut 2020 4 / 30
3`emeForme Normale Exemple g ´en ´eral Autres formes normales
D ´efinition
Une relationRest en3 `eme forme normale(3NF) si pour tout ensemble d’attributsAon a :
A+=Aou A+=Sou
A+=A∪Bo `u chaque ´el ´ement deBfait partie d’une cl ´e.
Propri ´et ´e :SoientRune relation et
D
une base de d ´ependances fonctionnelles singletons deR.Rest en 3 `eme forme normale si et seulement si pour toute d ´ependance fonctionnelle singletonA→bde
D
on a :Aest une supercl ´e (A+=S) ou bfait partie d’une cl ´e.
S. Devismes (UGA) 3NF 26 ao ˆut 2020 5 / 30
Preuve de la propri ´et ´e (1/2)
SoitRest une relation en 3 `eme forme normale et
D
unebase ded ´ependances fonctionnelles singletonsdeR.
SoitA→b∈
D
.SiA+=A, alors n ´ecessairementb∈AetA→b∈/
D
, contradiction.SiA+=S, alorsAest supercl ´e deR, par d ´efinition.
SiA+=A∪Bo `u chaque ´el ´ement deBfait partie d’une cl ´e, alors puisqueb∈/A,b∈B, c’est- `a-direbfait partie d’une cl ´e deR.
S. Devismes (UGA) 3NF 26 ao ˆut 2020 6 / 30
Preuve de la propri ´et ´e (2/2)
Supposons une base de d ´ependances fonctionnelles singletonsDdeR
v ´erifiant : pour toute d ´ependance fonctionnelleA→b∈Don a
Aest une supercl ´e(A+=S) ou bfait partie d’une cl ´e.
SoitX un ensemble d’attributs.
Il faut montrer que siX+6=XalorsX+=Soupour toutb∈X+−X,bfait partie d’une cl ´e.
Supposons queX+6=X et soitb∈X+−X.
D’apr `es l’algorithme de cl ˆoture, il existeA→b∈Dtel queA⊆X+.
Par hypoth `ese,A+=Soubfait partie d’une cl ´e.
PuisqueA⊆X+,A+⊆(X+)+=X+, donc siA+=S, alorsX+=Saussi.
D’o `u,X+=Soupour toutb∈X+−X,bfait partie d’une cl ´e:Rest en 3NF.
S. Devismes (UGA) 3NF 26 ao ˆut 2020 7 / 30
3`emeForme Normale Exemple g ´en ´eral Autres formes normales
Propri ´et ´e
SiRest en BCNF alorsRest en 3NF.
L’inverse n’est pas vrai !
Par exemple, soitR(a,b,c)avec l’ensemble de d ´ependances fonctionnelles{a→b,b→a}.
Rn’est pas BCNFcara+=ab6=abc
Cependant,Ra deux cl ´es :acetbc. Donc, les deux parties droitesa etbappartiennent `a des cl ´es :Rest 3NF!
3`emeForme Normale Exemple g ´en ´eral Autres formes normales
D ´efinition
Une d ´ecompositionR=R[S1]∗...∗R[Sn]est en3`emeforme normale (3NF) si chaqueR[Si]est en 3NF.
Algorithme de synth `ese 3NF
Entr ´ee.Une baseminimale
D
mindeR.Sortie.Res={S1, ...,Sp}o `u lesSi fournissent des relations formant une d ´ecomposition deRen 3NF qui pr ´eserve les d ´ependances et qui
´evite les redondances.
-BCNF- Appliquer l’algorithme de synth `ese BCNF. Soit Res={S1, ...,Sn}le r ´esultat obtenu.
-N- Supprimer les redondances :
Tant qu’il y a des inclusionsSi⊆Sj aveci6=j EnleverSi deRes.
Ajouter les d ´ependances fonctionnelles deSi `a celles deSj -R- RetournerRes.
S. Devismes (UGA) 3NF 26 ao ˆut 2020 10 / 30
Exemples (1/2)
SoitR(p,m,e)avec la base minimale{p→m,me→p}.
S. Devismes (UGA) 3NF 26 ao ˆut 2020 11 / 30
3`emeForme Normale Exemple g ´en ´eral Autres formes normales
Exemples (2/2)
SoitR(a,b)avec la base minimale{a→b,b→a}.
S. Devismes (UGA) 3NF 26 ao ˆut 2020 12 / 30
3`emeForme Normale Exemple g ´en ´eral Autres formes normales
Preuve de l’algorithme : terminaison
-BNCF- :l’algorithme de synth `ese BCNF termine(mais, il est exponentiel —≤eO(|Dmin|∗|S|) —cf.cours pr ´ec ´edent).
-N- :polynomial en|Res|et
D
min. -R- :temps constant.S. Devismes (UGA) 3NF 26 ao ˆut 2020 13 / 30
Preuve de l’algorithme : correction (1/5)
On sait d ´ej `a que l’ensembleRes={S1, ...,Sn}obtenu avant N v ´erifie :R[S1]∗...∗R[Sn]est une d ´ecomposition BCNF deR.
Ensuite, si on supprime un ensembleSi deRespendant N, cela implique qu’il existej6=itel queSj∈ResetSi⊆Sj. Or, puisque Si ⊆Sj, on aR[Sj] =R[Si]∗R[Sj]. Donc, apr `es chaque suppression, on a toujoursle produit naturel des projections deRsur les ´el ´ements deResest une d ´ecomposition deR.
De plus,on a pas de perte de d ´ependance fonctionnelle.
Enfin, par N onsupprime toutes les redondances.
S. Devismes (UGA) 3NF 26 ao ˆut 2020 14 / 30
Preuve de l’algorithme : correction (2/5)
Il nous reste uniquement `a d ´emontrer, qu’apr `es R, on a
∀i∈ {1, . . . ,p},R[Si]est 3NF.
SoitResf la valeur deRes `a la fin de l’algorithme de synth `ese 3NF. SoitSi ∈Resf. Soit
D
minSi ⊆D
minle sous-ensemble desd ´ependances fonctionnelles (singletons) de
D
minattach ´ees `aR[Si] `a la fin de l’algorithme.On adeux cas:Si a ´et ´e ajout ´e `aRes soitlors de l’ ´etape F,
soitlors de l’ ´etape U
del’algorithme de synth `ese BCNF.
S. Devismes (UGA) 3NF 26 ao ˆut 2020 15 / 30
3`emeForme Normale Exemple g ´en ´eral Autres formes normales
Preuve de l’algorithme : correction (3/5)
Supposons queSi a ´et ´e ajout ´e `aReslors de l’ ´etape F de l’algorithme de synth `ese BCNF.
Alors,Si est une cl ´e deR:Si+=Srelativement `aDminetSi→Sest une cons ´equence deDmin.
De plus,Si+=Si relativement `aDminSi :Si est une supercl ´e deR[Si]. Supposons, par contradiction, queSi n’est pas une cl ´e deR[Si]:il existeX(Si tel queX+=Si relativement `aDminSi .
AlorsX→Si est une cons ´equencedeDminSi et deDmincarDminSi ⊆Dmin. Par transitivit ´e (X→Si etSi →S) ,X→Sestaussiune cons ´equence de
Dmin:X+=Srelativement `aDmin, c’est- `a-dire,X(Si est supercl ´e deRet doncSi n’est pas une cl ´e deR, contradiction.
Donc,Si est une cl ´e deR[Si]. Or,∀A→b∈DminSi , on ab∈Si. Donc,R[Si]
3`emeForme Normale Exemple g ´en ´eral Autres formes normales
Preuve de l’algorithme : correction (4/5)
Supposons queSia ´et ´e ajout ´e `aReslors de l’ ´etape U de l’algorithme de synth `ese BCNF.
Par construction, il existeAi(Sitel que :∀b∈Si−Ai,Ai→b∈DminSi . Soit
D0={A→b∈DminSi :A=Ai}.
( `A cause de la suppression des redondances, on peut avoirDminSi 6=D0.)
Par d ´efinition,D06=0/; de plus,A+i =Si, c’est- `a-dire,Aiest une supercl ´e deR[Si]. SoitAi→b∈D0⊆DminSi . PosonsAi=a1, . . . ,ak etsupposons, par contradiction, queAi
n’est pas une cl ´e deR[Si]. Il existe doncK(Ai, tel queK+=Sirelativement `aDminSi . Donc K→Siest une cons ´equence deDminSi , et par r ´eflexivit ´e et transitivit ´eK→best aussi une cons ´equence deDminSi et donc deDmin.
Soitx∈ {1, . . . ,k}eta1...6ax...aktels queK⊆ {a1, . . . ,ak} − {ax}.
K⊆ {a1, . . . ,ak} − {ax} (refl)
a1...6ax...ak→K K→b (trans)
a1...6ax...ak→b
Donc,a1...6ax...ak→best une cons ´equence deDmin:Dminn’est pas une base minimale deR, contradiction. Donc,Aiest une cl ´e deR[Si].
Preuve de l’algorithme : correction (5/5)
Enfin, montrons queR[Si]est en 3NF.
Supposons, par contradiction, qu’il existeA→b∈DminSi telle queA+6=Si
relativement `aDminSi etbn’appartient `a aucune cl ´e deR[Si]. En particulier,b∈/Ai, donc par constructionAi→b∈D0.
Tout d’abord,A+i =Si− {b}relativement `aD0− {Ai →b}, doncAi →Si− {b}est une cons ´equence deD0− {Ai →b}.
De plus,A⊆Si etb∈/A(carA→best une d ´ependance singleton) impliquent A⊆Si− {b}et par r ´eflexivit ´eSi− {b} →A.
Par
Ai→Si− {b} Si− {b} →A (trans)
Ai→A A→b
(trans)
Ai→b
DoncAi→b∈Dminestune cons ´equence deDmin− {Ai→b}, ce qui implique que
Dminn’est pas une base minimale deR, contradiction.
Donc,∀A→b∈DminSi telle queA+6=Si,bqui fait partie d’une cl ´e deR[Si]. D’o `u, R[Si]est 3NF.
S. Devismes (UGA) 3NF 26 ao ˆut 2020 18 / 30
Diagramme conceptuel
Reprenons une variante de l’exemple de la biblioth `eque, vu lors du chapitreConception.
La conception avait men ´e `a un diagramme de ce genre (en simplifiant les cardinalit ´es : 1 pourmonoet * pourmulti).
Batiment nomB
Oeuvre isbn titre
∗ ∗
1∗
Ecrivain nom prenom
Salle numS
EY
Livre numL dateE
1 ∗ ∗ 1
Membre numM nom prenom
S. Devismes (UGA) 3NF 26 ao ˆut 2020 20 / 30
3`emeForme Normale Exemple g ´en ´eral Autres formes normales
Relations
En alg `ebre relationnelle, on obtient : Ecrivains (nom, prenom) Oeuvres (isbn,titre)
Auteurs (isbn, nom, prenom) Membres (numM, nom, prenom) Salles (numS, nomB)
Livres (numL, isbn, numM, dateE, numS, nomB)
avec des contraintes d’int ´egrit ´e `a ´ecrire ...
Il n’y a pas de contrainte de d ´ependance fonctionnelle autre que celles donn ´es par les cl ´es donc c’estune d ´ecomposition BCNF!
S. Devismes (UGA) 3NF 26 ao ˆut 2020 21 / 30
3`emeForme Normale Exemple g ´en ´eral Autres formes normales
Normalisation (1/2)
Maintenant, oublions tout cela et partons de l’ensemble des attributs (les noms sont simplifi ´es) et d’une base de d ´ependances entre ces attributs.
Attributs (il y en a 11) :
nom prenom isbn titre numM nom prenom numS nomB numL dateE
n p i t m n0 p0 s b l e
Base de d ´ependances (ici 9 d ´ependances singletons) : (d1)i→t,(d2)m→n0p0,(d3)l→itmesb.
On peut noter quel→test inutile, on va v ´erifier que les algorithmes s’en rendent compte.
On peut noter quenetpn’apparaissent pas dans cette base.
S. Devismes (UGA) 3NF 26 ao ˆut 2020 22 / 30
Normalisation (2/2)
En appliquant l’algorithme r ´ecursif BCNF avec successivementA=i, A=m,A=l, on obtient la d ´ecomposition BCNF (sans redondance et sans perte de d ´ependance) :
R=R[i,t]∗R[m,n0,p0]∗R[l,i,m,e,s,b]∗R[l,n,p] En appliquant l’algorithme de synth `ese BCNF on obtient la m ˆeme d ´ecomposition.
En effet la base donn ´ee est minimale (c’est facile `a v ´erifier), d’o `u les 3 premi `eres relations dans la d ´ecomposition.
Mais de plus la seule cl ´e deRestlnp(c’est facile `a v ´erifier), d’o `u la 4`emerelation.
Puisqu’il n’y a pas de redondance dans cette d ´ecomposition, l’algorithme de synth `ese 3NF ne fait rien de plus.
S. Devismes (UGA) 3NF 26 ao ˆut 2020 23 / 30
Comparaison
Relations calcul ´ees
O (i,t) M (m, n’,p’)
L (l, i, m, e, s, b) A (l, n, p)
Relations initiales
Ecrivains (nom, prenom) Oeuvres (isbn,titre)
Auteurs (isbn, nom, prenom) Membres (numM, nom, prenom) Salles (numS, nomB)
Livres (numL, isbn, numM, dateE, numS, nomB) Les relationsOeuvres,Membres,Livres, correspondent exactement aux
relationsO,M,L.
La relationSallesadisparu, et en effet elle ´etait redondante par rapport `a Livres.
La relationEcrivainsadisparu, et en effet elle ´etait redondante par rapport `aAuteurs.
La relationAuteurs(i, n, p)ne correspond pas exactement `a la relation A(l,n,p): on n’a pas su traduire par des d ´ependances fonctionnelles le fait que des livres correspondant `a la m ˆeme œuvre doivent avoir les m ˆemes auteurs.
S. Devismes (UGA) 3NF 26 ao ˆut 2020 24 / 30
3`emeForme Normale Exemple g ´en ´eral Autres formes normales
Discussion
Par d ´efinition, la BCNF estoptimaleau sens o `u elle n’a que les d ´ependances fonctionnelles dues aux cl ´es.
On a vu deux fac¸ons de construire une d ´ecomposition BCNF, mais la premi `ere ne pr ´eserve pas les d ´ependances et la seconde n’ ´evite pas les redondances.
On a vu un exemple o `u on trouve une d ´ecomposition BCNF avec ces deux propri ´et ´es, mais elle n’est pas compl `etement satisfaisante.
La 3NF autorise certaines d ´ependances fonctionnelles autres que les cl ´es.
Son avantage est qu’on peut construire une d ´ecomposition 3NF qui `a la fois pr ´eserve les d ´ependances et ´evite les redondances.
3`emeForme Normale Exemple g ´en ´eral Autres formes normales
Hi ´erarchie
Il existe toute une hi ´erarchie de formes normales, de la plus faible vers la plus forte :
1NF⇐2NF⇐3NF⇐BCNF⇐4NF⇐5NF⇐6NF
1NF et 2NF
1NF :la premi `ere forme normale impose que les attributs ont un type atomique.
2NF :il s’agit d’une version affaiblie de la 3NF.
Une relationRest en2`emeforme normale(2NF) si pour tout ensemble d’attributsAon a :
A+=Aou A+=Sou
A+=A∪Bo `u pour chaque ´el ´ementbdeB: soitbfait partie d’une cl ´e (comme pour la 3NF)
soitbne fait pas partie d’une cl ´e, mais dans ce casAn’est pas strictement inclus dans une cl ´e.
S. Devismes (UGA) 3NF 26 ao ˆut 2020 28 / 30
4NF et 5NF
Bien que la BCNF n’ait que les d ´ependances fonctionnelles dues aux cl ´es, qui sontin ´evitables, on a d ´efini des formes normales plus fines relativement d’autres crit `eres (d ´ependances multivalu ´ees) ...
S. Devismes (UGA) 3NF 26 ao ˆut 2020 29 / 30
3`emeForme Normale Exemple g ´en ´eral Autres formes normales
Conclusion
Il n’y a pas une forme normalemeilleureque les autres, ni une d ´ecompositionmeilleureque les autres.
En particulier, il n’est pas vrai que la meilleure forme normale est la plus forte.
En pratique, la 3NF et la BCNF sont souvent un bon compromis.
Noter que la normalisation ne tient pas compte des valeurs absentes, cela peut poser probl `eme.
Lorsqu’on conc¸oit une base de donn ´ees en passant par un diagramme de conceptionraisonnable, on obtientsouventdes relations au moins en 3NF.
S. Devismes (UGA) 3NF 26 ao ˆut 2020 30 / 30