Professional Documents
Culture Documents
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 :
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
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
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
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
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
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.
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
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.
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.
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.
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
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.
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}
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.
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(
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
Date_consultation 1 0 /1 0 2 0 /1 0 3 0 /1 1
(NF,adr,tel) (NF,Nomproduit,prix)
Permet dliminer les attributs qui ne dcrivent pas l objet reprsent par la relation Pour chaque source de DF crer une relation comprenant :
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
Ce n' est pas vrai pour les formes suprieures Il faut donc toujours faire des schmas au moins 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 {
Exemple
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
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
Dpendances multivalues
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
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
Dcomposition
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,...
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