You are on page 1of 70

Bases de donnes Dpendances fonctionnelles et formes normales

Introduction
Dans les applications pratiques le schma dune BD reste xe = > choix initial trs important Conception de schma :
Description Bon schma Dclaration )souvent Sql(, cration de la BD

Il existe des liens smantiques entre les donnes, des dpendances de donnes qui jouent un rle fondamental dans la conception car suggrent de bons regroupement dattributs schmas de relations.

Introduction
But d' un schma logique : dcrire une bd qui va effectivement tre utilise Les maj )insertions, suppressions, modications( doivent conserver la cohrence de la base de donnes
intgrit rfrentielle toute contrainte d' intgrit en particulier les dpendances entre attributs charge , accde , mise jour )maj(

Selon le schma :

Plus la bd contient de redondances, plus les maj avec maintien de la cohrence est difcile Exemple danomalie )table prof(

Introduction
Une relation nest pas correcte si :
elle implique des rptitions au niveau de sa population elle pose des problmes lors des maj )insertions, modications et suppressions( Les conditions pour qu' une relation soit correcte peuvent tre dnies formellement :

= > rgles de normalisation

Pourquoi normaliser ?
Normaliser un schma relationnel c'est le remplacer par un schma quivalent o toutes les relations vrifient certaines proprits. Ces proprits sont bases sur l'analyse des dpendances fonctionnelles l intrieur de chaque relation.
La normalisation est utile : pour limiter les redondances de donnes, minimiser lespace de stockage pour limiter les pertes de donnes, pour limiter les incohrences au sein des donnes pour amliorer les performances des traitements. viter les problmes de mises jour.

Normalisation
La normalisation permet de garantir que le schma relationnel est un bon schma )bonnes proprits( Exemple )contrainte : categorie,classe -> salaire(
Anomalie de modication Anomalie dinsertion Anomalie de suppression

Lobjectif de la normalisation est dliminer les anomalies de stockage )liminer la redondance(

Normalisation
Dnir un bon schma relationnel qui dcrit bien lentreprise
schma 1 :
Produit )NP, NomP, Couleur, Poids( Fournisseur )NF, NomF, Adr, Tel( Livraison )NP, NF, Date, Qt(

schma 2 :

Produit )NP, NomP, Couleur, Poids( Fournisseur )NF, NomF, Adr( Livraisonbis )NP, NF, Date, TlF, Qt(

PB : TelF sur le schma 2 Processus de transformation dune relation est appel processus de normalisation Qualit dune relation degr de normalisation La normalisation consiste clater une relation en plusieurs. Elle comprend plusieurs tapes. 1re forme normale, 2me forme, 3me forme, forme normale de Boyce Codd, 4me forme normale,5me forme

Normalisation
Processus de transformation d' un schma S1 pour obtenir un schma S2 : maj simple :
qui est quivalent )mme contenu( dont les maj assurant la cohrence de la bd sont simples

Exemples de changements lmentaires

un changement lmentaire dans le monde rel se traduit par une mise jour d' un tuple LivraisonTot )Nf, adrF, Np, typeP, qt( La quantit totale pour un produit et un fournisseur est mise jour = > 1 tuple m.a.j. Un fournisseur change d' adresse = > N tuples m.a.j.

Normalisation
Processus de dcomposition d' une relation maj complexes en plusieurs relations maj simples Processus sur le schma relationnel formel Exemple : La relation LivraisonTot )Nf, adrF, Np, typeP, qt( sera dcompose en :
LivraisonTot )Nf, Np, qt( Fournisseur )Nf, adrF( Produit )Np, typeP(

Normalisation
On mesure la qualit d' une relation par son degr de normalisation :

1FN )premire forme normale(, 2FN, 3FN, FNBC )forme normale de Boyce Codd(, 4FN, etc.

Normalisation

Normalisation

Normalisation
Objectif dcomposition : tant donn une relation non satisfaisante, en ce sens qu' elle implique des rptitions au niveau de sa population et qu' elle pose des problmes lors des insertions/modications/suppressions de tuples trouver un ensemble de relations satisfaisantes et qui dcrive les mmes informations. Les trois premires formes normales ont pour objectif de permettre la dcomposition de relations sans perdre dinformations, partir de la notion de dpendance fonctionnelle.

Dpendance fonctionnelle
Notion introduite par CODD an de caractriser les relation pouvant tre dcomposes sans perte dinformations Dniton : Soit R)A1,A2..An( un schma de relation, et X et Y des sous ensembles de { A1,A2 n} . On dit que X Y si pour toute extension r de R, pour tout tuple t1 et t2 de r, on a x)t1(= x)t2( = > y)t1(= y)t2( Etant donn une valeur de X, il lui correspond une valeur unique de Y )Quel que soit linstant considr( Exemple :
NP Nprod NV Couleur )TYPE,MARQUE( PUISSANCE Les DF suivantes sont inexistantes Puissance Type Type Couleur

Dpendance fonctionnelle
Etant donn une relation, R )X, Y, Z(, il existe une dpendance fonctionnelle, ou " DF" , de Y vers Z, note Y Z, si : tant donn deux tuples quelconques de R, s' ils ont mme valeur pour Y, alors ils ont ncessairement mme valeur pour Z. On appelle Y source de la DF, et Z cible de la DF. Produit )NP, NomP, Poids, Couleur(
NP NomP, NomP NP, NP Poids NomP Poids, NP Couleur, NomP Couleur NP ) NomP, Poids, Couleur( )NP, NomP( Poids, )NP, NomP( Couleur

Dpendance fonctionnelle
Ladresse dun fournisseur ne dpend que du fournisseur, ..
DPENDANCE FONCTIONNELLE )DF(

Soit une relation R )X, Y, Z( il existe une DF : X Y si et seulement si dans R une mme valeur de X correspond toujours une mme valeur de Y X Y : X dtermine Y Y dpend de X X : source de la DF, Y : cible de la DF La source peut tre un ensemble

Dpendance fonctionnelle
A a1 a1 a2 a2 a3 B b1 b2 b1 b1 b2 C c1 c2 c3 c4 c5 D d1 d2 d3 d3 d1 E e1 e1 e1 e1 e1

Quelles sont les DF satisfaites par R ?

Dpendance fonctionnelle
A a1 a1 a2 a2 a3 B b1 b2 b1 b1 b2 C c1 c2 c3 c4 c5 D d1 d2 d3 d3 d1 E e1 e1 e1 e1 e1

Quelles sont les DF satisfaites par R ? A -> E, B-> E, C-> ABDE, AB -> D, AD-> B, BD ->A

Proprits des dpendances fonctionnelles


Rexivit : tout ensemble dattributs dtermine luimme ou un ensemble de luimme. Augmentation : X Y = > XZ YZ Transitivit : X Y et Y Z = > X Z Union : X Y et X Z = > X YZ Pseudotransitivit : X Y et WY Z = > WX Z

Dpendance fonctionnelle lmentaire


une DF, X B, est une dpendance fonctionnelle lmentaire si B est un attribut unique, et si X est un ensemble minimum d' attributs )ou un attribut unique(. Il nexiste pas de X c X tel que X X EX : Dans la relation Produit, les DF : NP ) couleur, poids( et )NP, NomP( Poids ne sont pas lmentaires. NP Couleur, NP Poids, NP NomP NomP Couleur, NomP Poids, NomP NP sont lmentaires. La DF, )NP, NF, date( Qt, signie qu' un mme fournisseur ne peut livrer plusieurs fois le mme jour le mme produit avec des quantits diffrentes.

Proprit des dpendances fonctionnelles


Si dans une relation, on a les deux dpendances fonctionnelles, X Y et Y Z, alors on a aussi la dpendance fonctionnelle X Z qui est dite dduite des deux autres.

Graphe des dpendances fonctionnelles


Graphe des DF
noeud : attribut arc : DF

Si tous les attributs gauches sont uniques, il est possible de visualiser lensemble des DF COULEU
NV R TYPE MARQUE PUISSAN CE

Graphe des DF
Pour chaque relation il faut recenser toutes ses DF lmentaires et non dduites. Une relation peut avoir plusieurs graphes minimum. Ils sont alors quivalents E A, E C D
Exemple de graphe minimum : R )A, B, C, D, E( On les reprsente sous forme d' un graphe orient graphe minimum des DF de la relation

B, E

Graphe minimum
Etant donn une relation et un ensemble de DF portant sur les attributs de cette relation, on appelle graphe minimum des DF de la relation, tout ensemble de DF lmentaires non dduites, quivalent en ce sens que toute DF de peut tre dduite des DF du graphe. Une mthode pour savoir si une DF, X des autres est la suivante: Y, est dduite

Le graphe minimum des DF sert essentiellement dnir des relations normalises.

tablir un graphe )non minimum( des DF, supprimer la DF X Y du graphe, parcourir tous les chemins possibles partant de X et suivant les DF. La DF, X Y, est dduite si un )ou plusieurs( de ces chemins atteint Y.

Utilit du graphe des DF


Vrier que le graphe est bien minimum
Trouver les identiants de la relation Tester si la relation est bonne )bien normalise( Sinon trouver les dcompositions Exemple de graphe non minimum

Graphe des DF
LivraisonTot )Nf, adrF, Np, typeP, qt( Nf adrF
ladresse dun fournisseur ne dpend que du fournisseur

Np

typeP qt

)Nf, Np(

le type dun produit ne dpend que du produit la quantit totale livre dpend du produit et du fournisseur

Fermeture d'un ensemble d'attributs X

La fermeture d'un ensemble d'attributs X, note (X)+, reprsente l'ensemble des attributs de R qui peuvent tre dduits de X partir d'une famille de dpendances fonctionnelles en appliquant les axiomes d'Armstrong. Ainsi, Y sera inclus dans (X)+ ssi X -> Y.

Calcul de la fermeture d'un ensemble d'attributs


Fermeture d'un ensemble d'attributs X

initialiser (X)+ X, trouver une dpendance fonctionnelle de F possdant en partie gauche des attributs inclus dans (X)+, ajouter dans (X)+ les attributs placs en partie droite de la dpendance fonctionnelle, rpter les tapes b) et c) jusqu' ce que (X)+ n'volue plus.

Soit F = { A -> D ; AB -> E ; BI -> E ; CD -> I ; E -> C }.


Fermeture d'un ensemble d'attributs X

calculer la fermeture, sous F, de AE. (AE)+ = AE, A -> D permet d'ajouter D : (AE)+ = AED, E -> C permet d'ajouter C : (AE)+ = AEDC, CD -> I permet d'ajouter I : (AE)+ = AEDCI.

Fermeture d'un ensemble d'attributs X

calculer la fermeture, sous F, de BE


au dpart, (BE)+ = BE, E -> C permet d'ajouter C : (BE)+ = BEC.

Exercice

Soit un schma R(ABCDEJ) et soit lensemble de dpendances fonctionnelles associ F = {A ->B;BC->D;BDE->J}. Prouvez de deux manires diffrentes : axiomes dArmstrong proprits de la fermeture dun ensemble dattributs que ACE->J.

Correction

Avec la mthode de la fermeture dun ensemble dattributs : ACE+ tant donn F = ACEBDJ, 2. En utilisant les axiomes dArmstrong, si on numrote les dfs par ordre doccurrence dans lensemble Pseudo-transitivit entre df1 et df2 : df4 : AC -> D Pseudo-transitivit entre df3 et df4 : df5 : ACBE -> J Pseudo-transitivit entre df1 et df5 : ACE -> J

Fermeture transitive et couverture minimale


A partir dun ensemble de DF lmentaires, on peut composer par transitivit dautres DF lmentaires. On aboutit la notion de fermeture transitive dun ensemble F de DF lmentaires : Ensemble des DF lmentaires considres enrichi de toutes les DF lmentaires dduites par transitivit. Exemple = { NV TYPE; TYPE MARQUE;TYPE PUISSANCE;NV COULEUR}

Fermeture transitive et couverture minimale


A partir de la notion de fermeture transitive, il est possible de dnir lquivalence de deux ensembles de DF lmentaires : deux ensembles sont quivalents sils ont la mme fermeture transitive. Dterminer un sous ensemble minimal de DF permettant de gnrer toutes les autres : la couverture minimale dun ensemble de DF. Ensemble F de DF lmentaires associ un ensemble dattributs vriant les proprits suivantes :
Aucune dpendance dans F nest redondante, ce qui signie que pour toute DF f de F, Ff nest pas quivalent F. Toute DF lmentaire des attributs est dans la fermeture transitive de F )note F+(

Cl de relation
Cl de relation : Soit R)A1; ; An( un schma de relation, et X un sousensemble de )A1; ; An(, X est une cl si, et seulement si, :
X ) A1;A2; ;An (D ( F) X est minimal : il nexiste pas de sousensemble Y de X tel que Y ) A1;A2; ;An(.

F= )nv > type , type > marque, type > puissance, nv > couleur( En dduire la cl.

DFs et identiants
Le graphe minimum des DF permet de trouver les identiants de la relation Lidentiant dune relation est lensemble )minimal( des nuds du graphe minimum partir desquels on peut atteindre tous les autres nuds )via les DF(

DFs et identifiants
R)A,B,C,D,E( R)A,B,C,D,E,F,G(

E A A B C D

F B C D

G E

Jointure de relations

Etant donn deux relations ayant au moins un attribut commun, R1(X,Y) et R2(Y,Z) la jointure nouvelle de R1 et R2 s'indique : R1 * R2 C'est une nouvelle relation d'attributs (X,Y,Z) et dont la population est constitu de l'ensemble des tuples de R1 qui sont concatns ceux de R2 qui ont mme valeur pour Y.

Dcomposition dune relation


Soit une relation R qui contient des redondances et pose des Il faut la dcomposer en plusieurs relations meilleures )" normalises" (
problmes lors des maj " Elle n' est pas normalise"

par projection : La projection prend en entre une relation R de schma X et produit en sortie une nouvelle relation de schma A1; A2; ...; An )schma inclu dans X( en suivant les DF
cela assure d' obtenir des relations normalises. Il faut s' assurer de conserver le mme contenu

Dcomposition

On appelle dcomposition dun schma de relation R = (A1, A2, ..., An) o A1, A2, ..., An sont des attributs, le remplacement de R par un ensemble de schmas de relation R1, R2, ..., Rp (p1), obtenus partir de R par projection et de telle sorte que la runion des attributs de Ri (1i p) soit gale R.

Exemple S : oient R1 = (COURS, ETUDIANT, NOTE), R2 = (COURS, PROF), R1 et R2 forment une dcomposition de : R = (COURS, ETUDIANT, NOTE, PROF)

40

Dcomposition SPI
On dit quune dcomposition de R en R1, R2, Rp, est sans perte dinformation, ce que lon note SPI, si toutes les relations r sur R considres sont gales la jointure des relations ri (1i p) obtenues par projection de r sur les schmas Ri. Condition ncessaire et suffisante : Thorme de Heath

Soit R=(X,Y,Z) o X, Y et Z sont des ensembles d attributs. Si on suppose que X Y appartient F, alors la dcomposition de R en S = (X,Y) et T = (X,Z) est SPI. Rciproquement, si la dcomposition de R en S et T est SPI, alors X Y ou X Z appartient F+. Exemple : R1 et R2 est une dcomposition SPI de R muni de 41 F = {(COURS, ETUDIANT) NOTE, COURS PROF}

Dcomposition dune relation

Si R = R1*R2* *Rk la dcomposition est sans perte d' information Les requtes sur R et celles sur la nouvelle BD donneront toujours le mme rsultat

Dcomposition SPD
Soit R dcompose en R1, R2, .., Rp. On appelle restriction de F Ri, note Fi, lensemble des dfs de F+ formes dattributs de Ri uniquement.

Exemple : Restriction de F R1 : F1 = {(COURS, ETUDIANT) NOTE} Restriction de F R2 : F2 = {COURS PROF}


On dit que la dcomposition de R en R1, R2, .., Rp prserve les dfs, ou encore est sans perte de dpendances, ce que lon note SPD, si la fermeture de la runion des Fi (1ip) est gale F+.

43

Thorme de Heath
Le thorme de Heath permet de savoir quand une dcomposition est sans perte d' information. Toute relation R)X,Y,Z( est dcomposable sans perte d' information en R1= p]X,Y[R et R2= p]X,Z[R s' il y a dans R une dpendance fonctionnelle de X vers Y )X Y(.

Application de Heath
LivraisonTot )Nf, adrF, Np, typeP, qt(

R1 )Nf, adrF( R2 )Np, typeP( R3)Np, Nf, qt(

Dcomposition
Une bonne dcomposition est une dcomposition
sans perte dinformation sans perte de DF qui produit des relations meilleures )mieux normalises( Toute DF doit tre dans lune des relations obtenues par dcomposition

Sans perte de DF :

Une DF ayant comme source un identiant sera automatiquement vrie par le SGBD Une DF perdue = > une contrainte d' intgrit implicite = > le SGBD ne peut pas la vrier

Premire forme normale


Une relation est en 1re forme normale si tout attribut contient une valeur atomique )unique( Tout attribut est non dcomposable, il ne peut pas tre constitu dun agrgat comme )nom,prnom( ou dune liste comme une liste de prnoms

Premire forme normale


MALADE (NuMal, Nom, Caractristiques, DteConsultation)
NuMal 1 Nom Dupond Caractristiques DteConsultation Masc,90Kg 10/10;20/10;30/ 11

MALADE (NuMal, Nom, Sexe, Poids) VISITES(Num_visite, date_consultation, #NuMal)


NuM al 1 Num_visite 1 2 3 Nom Dupond Sexe M asculin Poids 9 0 kg #NuM al 1 1 1

Date_consultation 1 0 /1 0 2 0 /1 0 3 0 /1 1

Premire forme normale


Personne(numroScu, nom, prnom, adresse, prnomEnfants, geEnfants)
numroScu Nom 1690157463 27092 Michel Prno Adresse m Patrick 15 rue de la rpublique Prnomenfant s Benjamin Marion Sandra geEnfants 4 17 6

Deuxime forme normale


Fournisseur (NF,Nomproduit,adr,tel,prix) Graphe minimum Problmes : On dcompose :


redondances mise jour suppression

(NF,adr,tel) (NF,Nomproduit,prix)

Deuxime forme normale


une relation est en 2e forme normale ssi :
elle est en 1re forme tout attribut non cl ne dpend pas d' une partie de cl

Permet dliminer les attributs qui ne dcrivent pas l objet reprsent par la relation Pour chaque source de DF crer une relation comprenant :

la source et tous les attributs cibles de DF ayant cette source

Deuxime forme normale


Commande(codeClient, codeArticle, nom_client, dsignation_article)
codeClient, codeArticle 12 25 Nom_client RIELPOUP Dsignation_article Tournevis

La relation nest pas en 2NF Car une partie de la cl est en dpendance fonctionnelle avec un attribut non cl un codeclient correspond 1 et 1 seul Nom client De mme 1 CodeArticle correspond 1 est 1 seule dsignation_article. Relations : article, client, commande

Deuxime forme normale


Mettre en deuxime forme normale Patient (Npatient, Date consultation, Nom,maladie)
NpatientDate consultation 1 1 15/01/2006 16/08/2005 Nom DURAND DURAND maladie GRIPPE ANGINE

Troisime forme normale


une relation est en 3e forme normale ssi :
elle est en 2e forme tout attribut n' appartenant pas a une cl ne dpend pas d' un autre attribut non cl tout attribut n' appartenant pas a une cl ne dpend pas transitivement dune cl.

Troisime forme normale


Fournisseur (NF, Pays, Ville) NF -> ville et ville ->Pays Dcomposer


Fournisseur (NF,ville) local (ville, pays)

Troisime forme normale


Toute relation peut toujours tre dcompose en relations en 3FN sans aucune perte
sans perte de DF, et sans perte d' information

Ce n' est pas vrai pour les formes suprieures Il faut donc toujours faire des schmas au moins en 3FN

Algorithme de synthse en 3FN


Trouver une couverture minimale de F Conserver les dpendances lmentaires tant qu'il reste des DF faire (produire) Prduction d'une relation {

Rechercher le plus grand ensemble qui dtermine d'autres A={A/ X -> Ai} Editer la relation (X,A) Pour chaque Ai de A faire {

} Dcomposition SPI et SPD

Eliminer toute DF incluse dans (X,Ai) Si Ai est isol alors liminer Ai de F}

Exemple

Livraison (NP,Nclient,date,qt,tel) 3FN ? Dcomposition

Relations plusieurs identiants : forme normale de Boyce Codd


La 2e forme limine les anomalies cres par des dpendances entre parties de cl et attributs non cl. La 3e forme normale limine les anomalies cres par des dpendances entre les attributs non cls Dpendances de parties de cls entres elles ou dattributs non cl vers une partie de cl. La 3e FN est insufsante

forme normale de Boyce Codd


une relation est en BCNF )BoyceCodd Normal Form( ssi :

les seules dpendances fonctionnelles sont du type cl dtermine attribut non cl Plus simple que 3NF, un peu plus fort, mais ne peut pas toujours tre obtenue SPD ! Une dcomposition en BCNF sans perte ne prserve en gnral pas les DF

forme normale de Boyce Codd


Enseignement)NEtud,Matiere,prof( NEtud Matire

Prof

Deux identiants : )Netud,Matiere( )Netud,prof( Un prof change de matire alors changement sur tous les tuples - On ne peut pas dcomposer sans perdre de DF )Netud,Prof( )Prof,Matire( On perd la DF

Mthodes de dcomposition

Dcomposition en Boyce Codd sans perte d'information Dcomposition en 3FN sans perte d'informations, ni de dpendances fonctionnelles

peut conduire trop dcomposer elle peut perdre des DF

Dpendances multivalues

Etudiant(NE, cours, sport) Cette relation n'a pas de DF On est en BCFN


NE Cours 100 BD 100 BD 100 Res 100 Res 200 Res Sport Tennis foot Tennis foot vlo

Il existe des redondances, mais schma indcomposable la notion de df est insuffisante

Dpendances multivalues
Soit une relation R(X,Y,Z), il y a dpendance multivalue X--->>Y si toute valeur de X correspond un ensemble de valeurs de Y qui est totalement indpendant de Z X--->> <=> (xyz) et (xy'z') dans R alors (xy'z) et (xyz') dans R. Les DF sont un cas particulier des DM

Quatrime forme normale

La 4FN permet de sparer des faits multivalus indpendants qui auraient t runis dans une mme relation Une relation R est en 4FN si :
elle est 1FN toute DF ou DM de R a pour source a identifiant entier de R ou

R est en 4FN si elle est BCFN et ne contient de DM

Dcomposition

Si R(X,Y,Z) contient la DM X--> YIZ alors la dcomposition en :


R1(X,Y) et R2(X,Z) est sans perte d'informations

5me forme normale

4FN n'limine pas tous les risques de redondances


Personne Michel Michel Michel Jean Boisson Ville Vin Dijon Vin Reims Champagne Reims Champagne Reims

Toute personne ayant consomm une boisson et ayant sjourn dans une ville qui en produit a consomm cette boisson dans cette ville (p,b) et (p,v) et (b,v) alors (p,b,v) dans R

Dpendance de jointure

Si on dcompose en 2 relations deux attributs , on ne peut plus retrouver la relation initiale et ce quelle que soit le dcomposition choisie Il existe des relations non dcomposables en 2 relations mais en 3 Dpendance de Jointure :

R(A1,A2,An) X1,X2,Xn sous ensembles de {A1,A2,..,An} il existe une dpendance de jointure si R=projx1(R) X projx2(R).... R : *{pb,pv,bv} S'il existe une telle dpendance de jointure alors R est dcomposables en relations X1,X2,...

5me forme normale

Une relation est en 5FN s'il n'est pas possible de crer la relation par jointures de relations plus simples avec des cls diffrentes

Conclusion

Normalisation utile :

pour obtenir une reprsentation canonique des entits du monde rel pour amliorer la performance de la BD

You might also like