• Aucun résultat trouvé

Plan. Bases de Données : 3ème Forme Normale (3NF) Justification. Définition. Stéphane Devismes

N/A
N/A
Protected

Academic year: 2022

Partager "Plan. Bases de Données : 3ème Forme Normale (3NF) Justification. Définition. Stéphane Devismes"

Copied!
7
0
0

Texte intégral

(1)

Bases de Donn ´ees : 3

`eme

Forme 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

(2)

Preuve de la propri ´et ´e (1/2)

SoitRest une relation en 3 `eme forme normale et

D

unebase de

d ´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 fonctionnelleAb∈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 toutbX+X,bfait partie d’une cl ´e.

Supposons queX+6=X et soitbX+X.

D’apr `es l’algorithme de cl ˆoture, il existeAb∈Dtel queAX+.

Par hypoth `ese,A+=Soubfait partie d’une cl ´e.

PuisqueAX+,A+⊆(X+)+=X+, donc siA+=S, alorsX+=Saussi.

D’o `u,X+=Soupour toutbX+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.

(3)

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

(4)

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 des

d ´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 `aDminetSiSest 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 .

AlorsXSi est une cons ´equencedeDminSi et deDmincarDminSi Dmin. Par transitivit ´e (XSi etSiS) ,XSestaussiune 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,Ab∈DminSi , on abSi. 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 :bSiAi,AibDminSi . Soit

D0={AbDminSi :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]. SoitAibD0DminSi . PosonsAi=a1, . . . ,ak etsupposons, par contradiction, queAi

n’est pas une cl ´e deR[Si]. Il existe doncK(Ai, tel queK+=Sirelativement `aDminSi . Donc KSiest une cons ´equence deDminSi , et par r ´eflexivit ´e et transitivit ´eKbest 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...akK Kb (trans)

a1...6ax...akb

Donc,a1...6ax...akbest une cons ´equence deDmin:Dminn’est pas une base minimale deR, contradiction. Donc,Aiest une cl ´e deR[Si].

(5)

Preuve de l’algorithme : correction (5/5)

Enfin, montrons queR[Si]est en 3NF.

Supposons, par contradiction, qu’il existeAbDminSi telle queA+6=Si

relativement `aDminSi etbn’appartient `a aucune cl ´e deR[Si]. En particulier,b/Ai, donc par constructionAibD0.

Tout d’abord,A+i =Si− {b}relativement `aD0− {Ai b}, doncAi Si− {b}est une cons ´equence deD0− {Ai b}.

De plus,ASi etb/A(carAbest une d ´ependance singleton) impliquent ASi− {b}et par r ´eflexivit ´eSi− {b} →A.

Par

AiSi− {b} Si− {b} →A (trans)

AiA Ab

(trans)

Aib

DoncAibDminestune cons ´equence deDmin− {Aib}, ce qui implique que

Dminn’est pas une base minimale deR, contradiction.

Donc,AbDminSi 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)it,(d2)mn0p0,(d3)litmesb.

On peut noter queltest 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

(6)

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

(7)

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

Références

Documents relatifs

Si on met toutes ces bases ensemble, la matrice de d dans la base de C m qu’on obtient reste la mˆ eme matrice diagonale, tandis que tous les coefficients non nuls de celle de n

On peut toujours mettre en BCNF sans perte d’information. On peut toujours mettre

De mˆeme que Q existe parce que Z poss`ede des ´el´ements non inversibles, on peut construire un corps commutatif contenant K[X], dont tous les ´el´ements non nuls sont inversibles,

Recherche de la quantité qui satisfait à la fois à deux équations algébriques données.. Annales de Mathématiques pures et appliquées, tome 17

On calcule facilement les coordonnées de l’intersection I de (AB) et (CD) à partir des équations de ces droites dans un repère orthonormé (Ox ; Oy).. Si on écrit que I appartient

Pour ces deux probl` emes, la m´ ethode est la suivante : on choisit le nom des inconnues, par exemple x, y et z ; on ´ ecrit l’´ equation vectorielle M = xA + yB + zC ; on

Pour ces deux probl` emes, la m´ ethode est la suivante : on choisit le nom des inconnues, par exemple x, y et z ; on ´ ecrit l’´ equation vectorielle M = xA + yB + zC ; on

(f) Comptez le nombre d’op´ erations ´ el´ ementaires (i.e. additions, soustractions, multliplications, divisions) n´ ecessaires pour calculer la d´ ecomposition LU de M..