SlideShare une entreprise Scribd logo
1  sur  13
Télécharger pour lire hors ligne
1
Théorie de la Normalisation
Talel.Abdessalem@enst.fr
Supports de cours : (1) Database Management Systems, R. Ramakrishnan and J. Gehrke, ed. McGrawHill, 2000.
(2) Bases de Données, G. Gardarin, ed. Eyrolles, 2001.
2
Théorie de la normalisation
? Objectif et principes
? Dépendances fonctionnelles
? Décomposition de schéma
? Formes normales
? Automatisation de la normalisation
? Conclusion
3
Objectif et principes
? Objectif : Minimiser les redondances pour améliorer les
performance de la BD.
?requêtes d’interrogation et de mise à jour plus rapides
?moins de valeurs NULL
?Gestion de l’intégrité des données simplifiée
? Principe : + PUIS
+ NOM
+ NSS
+ PRIX
+ COULEUR
+ NVH + TYPE
+ DATE
+ PRENOM
+ MARQUE NORMALISATION
RELATION UNIVERSELLE
R1 ( ............. )
R2 ( ............. )
.
.
.
4
Dépendances fonctionnelles
? Définition :
X --> Y, X détermine Y, ou Y dépend fonctionnellement de X,
X et Y éléments de R
est une assertion sur toutes les instances de la relation R telle que si deux tuples quelconques
de R possèdent la même valeur sur X, alors ils doivent avoir la même valeur sur Y.
Formellement :
X --> Y ssi quel que soit l’instance r de R, pour tout tuple t1 et t2 de r on a ? X(t1) = ? X(t2)
==> ? Y(t1) = ? Y(t2)
Utilité
Contrainte sur les données que peut contenir la relation.
Outil de contrôle d’intégrité des données (niveau schéma).
Outil mathématique permettant d’expliquer le processus de la « normalisation »
Vital lorsqu’on veut ré-étudier le schéma d’une BD qui pose problème.
5
Axiomes d'Armstrong
? Propriétés de base
Réflexivité
Y inclus dans X => X -> Y
Augmentation
X -> Y => XZ -> YZ
Transitivité
X -> Y et Y -> Z => X -> Z
? Propriétés déduites
Union
X -> Y
=> X -> YZ
X -> Z
Pseudo-transitivité
X -> Y
=> XW -> Z
YW -> Z
Décomposition
X -> Y
=> X -> Z
Z inclus dans Y
6
F+ et Couverture minimale
? Fermeture transitive d’un ensemble F de DF
– F+ = F ? {DF déduites de celles contenues dans F}
? Couverture minimale d’un ensemble F de DF
– Sous-ensemble minimum de DF élémentaires permettant de générer toutes
les autres.
– Théorème : tout ensemble de DF possède une couverture minimale, en
général non unique.
– Formellement, F est une CM ssi :
? Tout f dans F est élémentaire.
? Il n’existe pas de f dans F telle que F - {f} soit « équivalent » à F.
? DF élémentaires (les seules utiles)
– Une DF élémentaire est une DF de la forme X -->A, où :
? A est un attribut, X un ensemble d’attributs, A n'est pas inclus dans X
? il n'existe pas X' inclus dans X tel que X' -> A
? Equivalence
– On dit que deux ensembles de DF sont équivalents s’ils possèdent la même
fermeture transitive.
7
Clé d’une relation
? Définition :
Ensemble minimum d’attributs qui détermine tous les autres.
? Formellement :
Soient : R (A1, A2, ..., An) un schéma de relation, F+ l'ensemble
des DF associés et X un sous-ensemble de A1, A2, ... , An.
X est une clé de R ssi :
? X -> A1 A2 ... An est dans F+
? il n'existe pas de sous-ensemble X’inclus dans X tel que X’-> A1 A2
... An
? Non unicité :
? Il peut y avoir plusieurs clés pour une relation (clés candidates)
? Une est choisie comme clé primaire
? Sur-clé :
? Sur-clé : X est sur-clé ssi X->R dans F+
8
N° VEH
COULEUR
TYPE MARQUE
PUISSANCE
Graphe des DF
VOITURE (N°VEH, TYPE, COULEUR, MARQUE, PUISSANCE)
9
CRU --> TYPE
TYPE, CLIENT --> REMISE
TYPE CLIENT REMISE
A
A
B
C1
C2
C1
3%
5%
4%
TYPE CLIENT REMISE
A
A
B
C1
C2
C1
3%
5%
4%
CRU
CHENAS
MEDOC
JULIENAS
Autre Exemple
CRU
TYPE
CLIENT
REMISE
10
Décomposition de schéma
Définition :
La décomposition d'un schéma de relation R(A1, … , An) consiste en
son remplacement par une collection de relation (R1,… Rm) tel que
SCHEM (R) = SCHEM (R1) U SCHEM (R2) U ... U SCHEM (Rm)
But de la décomposition :
Casser R en de plus petites relations afin d'éviter :
les redondances
les anomalies en mises à jour
11
Décomposition Sans Perte
d’Information
Définition
Une décomposition d'une relation R en m relation (R1, … Rm) est SPI
par rapport à un ensemble de DF si et seulement si, quelle que soit I
une instance de R, alors
I = I1 x I2 x ... x Im
où Ij = ? Rj (I)
Théorème
Une décomposition de R en R1 et R2 est SPI si R1 ? R2 est sur-clé de
R1 et/ou R2.
12
VOITURE NVH MARQ UE TYPE PUIS COULEUR
872RH75 RENAULT R21 7 BLEUE
975AB80 RENAULT R21 7 BEIGE
R'1 X R'2 X R'3
872RH75 R21 7 BLEUE RENAULT
872RH75 R21 7 BEIGE RENAULT
975AB80 R21 7 BLEUE RENAULT
975AB80 R21 7 BEIGE RENAULT
R1 R2
8H75 R21 BLEUE R21 RENAULT 7
97AB80 R21 BEIGE
VOITURE = R1 X R2
R'1 R2 R'3
872RH75 R21 R21 7 BLEUE R21 RENAULT
975AB80 R21 R21 7 BEIGE
VOITURE <> R'1 X R'2 X R'3
Exemple
N° VEH
COULEUR
TYPE MARQUE
PUISSANCE
13
Décomposition sans perte de DF
Définition
Une décomposition (R1, … Rm) de R préserve les DFs (SPD) si la fermeture
transitive des DFs de R est la même que la fermeture transitive de l'union des
Dfs des R1, … Rm
Exemple
1) R1 (NVH, TYPE, COULEUR) =>F1 = { NVH -> TYPE, NVH -> COULEUR }
R2 (TYPE, MARQUE, PUIS) => F2 = { TYPE -> MARQUE, TYPE -> PUIS }
==> OK
2) R'1 (NVH, TYPE) => F'1 = { NVH -> TYPE }
R'2(TYPE, PUIS, COULEUR) =>F'2 = {TYPE -> PUIS}
R'3(TYPE, MARQUE) => F'3 = {TYPE -> MARQUE}
==> ON A PERDU LA DF : NVH ->COULEUR
14
Exemple
VOITURE NVH MARQUE TYPE PUIS COULEUR
872RH75 RENAULT R21 7 BLEUE
975AB80 RENAULT R21 7 BEIGE
VOITURE (NVH, MARQUE, TYPE, PUIS, COULEUR)
R1 (NVH, TYPE, COULEUR)
R2 (TYPE, MARQUE, PUIS)
R'1 (NVH, TYPE)
R'2 (TYPE, PUIS, COULEUR)
R'3 (TYPE, MARQUE)
N° VEH
COULEUR
TYPE MARQUE
PUISSANCE
Décomposition
15
Une telle relation doit être décomposée en répétant les noms
pour chaque profession
PERSONNE NOM PROFESSION
DUPONT Ingénieur, Professeur
MARTIN Géomètre
Formes normales
? Définition 1NF
Une relation est en 1ère forme normale si tout
attribut contient une valeur atomique (unique)
? Exemple
16
R K1 K2 X Y
Une telle relation doit être décomposée en
R1(K1,K2,X) et R2(K2,Y)
2NF
? Définition
une relation est en 2e forme normale ssi :
? elle est en 1ère forme
? tout attribut non clé ne dépend pas d'une partie de clé
? Schéma
17
Exemple 2NF
? Exemple 1 :
– Fournisseur (nom,adresse, article, prix)
– La clé est (nom, article)
– Mais nom --> adresse : pas en 2e forme
? Exemple 2 :
– R (cru,type,client,remise)
– La clé est (cru, client)
– Mais cru --> type : pas en 2e forme
18
R K X Y Z
Une telle relation doit être décomposée en
R1(K, X, Y) et R2(X,Z)
3NF
? Définition
– une relation est en 3e forme normale ssi :
? elle est en 2e forme
? tout attribut n'appartenant pas a une clé ne dépend pas
d'un autre attribut non clé
? Schéma
19
Exemple 3ème Forme
? Exemple
– Voiture (nvh, marque, type,puissance, couleur)
– Type --> marque
– Type --> puissance
Pas en 3eme forme !
? Caractéristiques de la 3NF :
– redondance limitée
– On arrive toujours à une décomposition en 3NF SPI et SPD
20
Exemples de Décomposition
? Voiture (nvh, marque, type, puissance,
couleur)
véhicule (nvh, type, couleur)
Modèle (type, marque, puissance)
? Réduction (cru, type, client, remise)
Remise (cru,client,remise)
Type (cru,type)
CRU
TYPE
CLIENT
REMISE
21
Automatisation de la décomposition
AUTOMATISATION DU
PROCESSUS DE DECOMPOSITION
EN 3NF, A PARTIR DE L'ENSEMBLE
DES ATTRIBUTS ET DES DFs
ALGORIHME
DE
DECOMPOSITION
RELATIONS
EN 3FN
RELATION
UNIVERSELLE
DFs
22
Algorithme de décomposition
1. A partir du graphe G des DF, calculer une couverture minimale C
2. Editer l'ensemble des attributs isolés dans une même relation (tous les attributs sont clés)
3. Rechercher le plus grand ensemble X d'attibuts qui détermine d'autres attributs A1, … An
4. Editer la relation (X, A1, … , An) qui est en 3FN
5. Supprimer les DFs (X->A1, … X->An) du graphe de couverture minimale C
6. Supprimer les attributs isolés de C (i.e. les attributs non-cible ni source de DF)
7. Répéter l'opération de réduction du graphe C à partir de l'étape 3, jusqu'à ce que C soit
vide.
8. Ajouter une relation dont les attributs forment une clé de la relation universelle
NVH
NPRO
PRENOM NOM
DATE
PRIX
COULEUR
TYPE
MARQUE PUIS
23
R K1 K2 X Y
Une telle relation peut être décomposée en
R1(K1, K2, X) et R2(Y,K1)
Encore moins de redondances : la forme
BCNF
? Définition
une relation est en BCNF (Boyce-Codd Normal Form) ssi :
les seules dépendances fonctionnelles sont du type clé détermine
attribut non clé
Plus simple que 3NF, un peu plus fort, mais ne peut pas toujours
être obtenue SPD !
24
CRU, PAYS --> REGION
REGION--> PAYS
Exemple
CRU
PAYS
REGION
R (CRU, PAYS, REGION)
Décomposition BCNF :
R1(REGION, PAYS)
R2(CRU, REGION)
25
Conclusion
? Normalisation utile
– pour obtenir une représentation canonique des
entités du monde réel
– pour améliorer la performance de la BD
? Normalisation automatisable
– Algos 3NF
– outils du commerce (Power Designer, ER-Win,
etc.)

Contenu connexe

Tendances

Les systèmes de détection et prévention d’intrusion
Les systèmes de détection et prévention d’intrusionLes systèmes de détection et prévention d’intrusion
Les systèmes de détection et prévention d’intrusionIntissar Dguechi
 
Base de donnees Avancees et Intro à NoSQL.ppt
Base de donnees Avancees et Intro à  NoSQL.pptBase de donnees Avancees et Intro à  NoSQL.ppt
Base de donnees Avancees et Intro à NoSQL.pptIdriss22
 
exercices Corrigées du merise
exercices Corrigées du  meriseexercices Corrigées du  merise
exercices Corrigées du meriseYassine Badri
 
La sécurité informatique
La sécurité informatiqueLa sécurité informatique
La sécurité informatiqueSaber Ferjani
 
Cours d'introduction aux HTML5 & CSS3
Cours d'introduction aux HTML5 & CSS3Cours d'introduction aux HTML5 & CSS3
Cours d'introduction aux HTML5 & CSS3Abel LIFAEFI MBULA
 
Merise+ +exercices+mcd+-+corrigés
Merise+ +exercices+mcd+-+corrigésMerise+ +exercices+mcd+-+corrigés
Merise+ +exercices+mcd+-+corrigésMajid CHADAD
 
Ch_1 - Généralités sur la sécurité informatique.pdf
Ch_1 - Généralités sur la sécurité informatique.pdfCh_1 - Généralités sur la sécurité informatique.pdf
Ch_1 - Généralités sur la sécurité informatique.pdfNafissa11
 
Merise
MeriseMerise
Merisebasy15
 
Introduction au web cours.pdf
Introduction au web cours.pdfIntroduction au web cours.pdf
Introduction au web cours.pdfElomyakobi
 
Sécurité des systèmes d'informations
Sécurité des systèmes d'informations Sécurité des systèmes d'informations
Sécurité des systèmes d'informations Emna Tfifha
 
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...Mehdi Hamime
 
Tp1 - WS avec JAXWS
Tp1 - WS avec JAXWSTp1 - WS avec JAXWS
Tp1 - WS avec JAXWSLilia Sfaxi
 
Vers une plateforme intelligente pour la prévision des maladies végétales
Vers une plateforme intelligente pour la prévision des maladies végétalesVers une plateforme intelligente pour la prévision des maladies végétales
Vers une plateforme intelligente pour la prévision des maladies végétalesSarra BOUHENNI
 
Internet et ses services
Internet et ses servicesInternet et ses services
Internet et ses servicesAbdoulaye Dieng
 
exercices business intelligence
exercices business intelligence exercices business intelligence
exercices business intelligence Yassine Badri
 

Tendances (20)

Les systèmes de détection et prévention d’intrusion
Les systèmes de détection et prévention d’intrusionLes systèmes de détection et prévention d’intrusion
Les systèmes de détection et prévention d’intrusion
 
Base de donnees Avancees et Intro à NoSQL.ppt
Base de donnees Avancees et Intro à  NoSQL.pptBase de donnees Avancees et Intro à  NoSQL.ppt
Base de donnees Avancees et Intro à NoSQL.ppt
 
exercices Corrigées du merise
exercices Corrigées du  meriseexercices Corrigées du  merise
exercices Corrigées du merise
 
La sécurité informatique
La sécurité informatiqueLa sécurité informatique
La sécurité informatique
 
Cours d'introduction aux HTML5 & CSS3
Cours d'introduction aux HTML5 & CSS3Cours d'introduction aux HTML5 & CSS3
Cours d'introduction aux HTML5 & CSS3
 
Cours Système d'Information
Cours Système d'InformationCours Système d'Information
Cours Système d'Information
 
Merise+ +exercices+mcd+-+corrigés
Merise+ +exercices+mcd+-+corrigésMerise+ +exercices+mcd+-+corrigés
Merise+ +exercices+mcd+-+corrigés
 
Ch_1 - Généralités sur la sécurité informatique.pdf
Ch_1 - Généralités sur la sécurité informatique.pdfCh_1 - Généralités sur la sécurité informatique.pdf
Ch_1 - Généralités sur la sécurité informatique.pdf
 
Merise
MeriseMerise
Merise
 
Introduction au web cours.pdf
Introduction au web cours.pdfIntroduction au web cours.pdf
Introduction au web cours.pdf
 
Data mining - Associativité
Data mining - AssociativitéData mining - Associativité
Data mining - Associativité
 
Cours access
Cours accessCours access
Cours access
 
Sécurité des systèmes d'informations
Sécurité des systèmes d'informations Sécurité des systèmes d'informations
Sécurité des systèmes d'informations
 
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...
 
Tp1 - WS avec JAXWS
Tp1 - WS avec JAXWSTp1 - WS avec JAXWS
Tp1 - WS avec JAXWS
 
Vers une plateforme intelligente pour la prévision des maladies végétales
Vers une plateforme intelligente pour la prévision des maladies végétalesVers une plateforme intelligente pour la prévision des maladies végétales
Vers une plateforme intelligente pour la prévision des maladies végétales
 
Internet et ses services
Internet et ses servicesInternet et ses services
Internet et ses services
 
Cours uml
Cours umlCours uml
Cours uml
 
QCM Sécurité Informatique
QCM Sécurité InformatiqueQCM Sécurité Informatique
QCM Sécurité Informatique
 
exercices business intelligence
exercices business intelligence exercices business intelligence
exercices business intelligence
 

En vedette

exercices gestion de stock
exercices gestion de stock exercices gestion de stock
exercices gestion de stock Yassine Badri
 
cours j2ee -présentation
cours  j2ee -présentationcours  j2ee -présentation
cours j2ee -présentationYassine Badri
 
Conception des bases de données relationelles
Conception des bases de données relationellesConception des bases de données relationelles
Conception des bases de données relationellesYassine Badri
 
.logistique gestion des stock
.logistique gestion des stock .logistique gestion des stock
.logistique gestion des stock Yassine Badri
 
base de données -note de cours
base de données -note de cours base de données -note de cours
base de données -note de cours Yassine Badri
 
les servlets-java EE
les  servlets-java EEles  servlets-java EE
les servlets-java EEYassine Badri
 
les métiers d'informatique
les métiers d'informatiqueles métiers d'informatique
les métiers d'informatiqueYassine Badri
 
les métiers d'informatique
les métiers d'informatiqueles métiers d'informatique
les métiers d'informatiqueYassine Badri
 
script site e-commerce -php
script site e-commerce -php script site e-commerce -php
script site e-commerce -php Yassine Badri
 
cours base de données
cours base de donnéescours base de données
cours base de donnéesYassine Badri
 
Exercice arbre de décision
Exercice arbre de décision Exercice arbre de décision
Exercice arbre de décision Yassine Badri
 
Exercicescorrigs 130111070052-phpapp01
Exercicescorrigs 130111070052-phpapp01Exercicescorrigs 130111070052-phpapp01
Exercicescorrigs 130111070052-phpapp01moussking
 
Gestion des-stocks-et-des-approvisionnements
Gestion des-stocks-et-des-approvisionnementsGestion des-stocks-et-des-approvisionnements
Gestion des-stocks-et-des-approvisionnementsmoulai
 
Exercices corrigés
Exercices corrigésExercices corrigés
Exercices corrigéshadhoum
 
Le langage plsql
Le langage plsqlLe langage plsql
Le langage plsqlkati_f87
 
Programmation orientée objet avancée
Programmation orientée objet avancéeProgrammation orientée objet avancée
Programmation orientée objet avancéeMahfoud EL HOUDAIGUI
 

En vedette (20)

exercices gestion de stock
exercices gestion de stock exercices gestion de stock
exercices gestion de stock
 
cours j2ee -présentation
cours  j2ee -présentationcours  j2ee -présentation
cours j2ee -présentation
 
Conception des bases de données relationelles
Conception des bases de données relationellesConception des bases de données relationelles
Conception des bases de données relationelles
 
.logistique gestion des stock
.logistique gestion des stock .logistique gestion des stock
.logistique gestion des stock
 
base de données -note de cours
base de données -note de cours base de données -note de cours
base de données -note de cours
 
les servlets-java EE
les  servlets-java EEles  servlets-java EE
les servlets-java EE
 
les métiers d'informatique
les métiers d'informatiqueles métiers d'informatique
les métiers d'informatique
 
Cours php
Cours php Cours php
Cours php
 
les métiers d'informatique
les métiers d'informatiqueles métiers d'informatique
les métiers d'informatique
 
script site e-commerce -php
script site e-commerce -php script site e-commerce -php
script site e-commerce -php
 
cours base de données
cours base de donnéescours base de données
cours base de données
 
Exercice arbre de décision
Exercice arbre de décision Exercice arbre de décision
Exercice arbre de décision
 
Exercicescorrigs 130111070052-phpapp01
Exercicescorrigs 130111070052-phpapp01Exercicescorrigs 130111070052-phpapp01
Exercicescorrigs 130111070052-phpapp01
 
Gestion des-stocks-et-des-approvisionnements
Gestion des-stocks-et-des-approvisionnementsGestion des-stocks-et-des-approvisionnements
Gestion des-stocks-et-des-approvisionnements
 
Exercices corrigés
Exercices corrigésExercices corrigés
Exercices corrigés
 
Chap 02 poo en java
Chap 02 poo en javaChap 02 poo en java
Chap 02 poo en java
 
Le langage plsql
Le langage plsqlLe langage plsql
Le langage plsql
 
Programmation orientée objet avancée
Programmation orientée objet avancéeProgrammation orientée objet avancée
Programmation orientée objet avancée
 
Polymorphisme
PolymorphismePolymorphisme
Polymorphisme
 
POO
POOPOO
POO
 

Plus de Yassine Badri

La theorie des dependances et la normalisation des relations-base de données
La theorie des dependances et la normalisation des relations-base de donnéesLa theorie des dependances et la normalisation des relations-base de données
La theorie des dependances et la normalisation des relations-base de donnéesYassine Badri
 
Java chap 04 surcharge des méthodes [mode de compatibilité]
Java chap 04 surcharge des méthodes [mode de compatibilité]Java chap 04 surcharge des méthodes [mode de compatibilité]
Java chap 04 surcharge des méthodes [mode de compatibilité]Yassine Badri
 
Chap 03 poo en java partie2
Chap 03 poo en java partie2Chap 03 poo en java partie2
Chap 03 poo en java partie2Yassine Badri
 
Chap 03 poo en java partie1
Chap 03 poo en java partie1Chap 03 poo en java partie1
Chap 03 poo en java partie1Yassine Badri
 

Plus de Yassine Badri (6)

La theorie des dependances et la normalisation des relations-base de données
La theorie des dependances et la normalisation des relations-base de donnéesLa theorie des dependances et la normalisation des relations-base de données
La theorie des dependances et la normalisation des relations-base de données
 
Arbre de décision
Arbre de décisionArbre de décision
Arbre de décision
 
Java chap 04 surcharge des méthodes [mode de compatibilité]
Java chap 04 surcharge des méthodes [mode de compatibilité]Java chap 04 surcharge des méthodes [mode de compatibilité]
Java chap 04 surcharge des méthodes [mode de compatibilité]
 
Chap 03 poo en java partie2
Chap 03 poo en java partie2Chap 03 poo en java partie2
Chap 03 poo en java partie2
 
Chap 03 poo en java partie1
Chap 03 poo en java partie1Chap 03 poo en java partie1
Chap 03 poo en java partie1
 
Ch 01 poo
Ch 01 pooCh 01 poo
Ch 01 poo
 

Théorie de normalisation-base de données

  • 1. 1 Théorie de la Normalisation Talel.Abdessalem@enst.fr Supports de cours : (1) Database Management Systems, R. Ramakrishnan and J. Gehrke, ed. McGrawHill, 2000. (2) Bases de Données, G. Gardarin, ed. Eyrolles, 2001. 2 Théorie de la normalisation ? Objectif et principes ? Dépendances fonctionnelles ? Décomposition de schéma ? Formes normales ? Automatisation de la normalisation ? Conclusion
  • 2. 3 Objectif et principes ? Objectif : Minimiser les redondances pour améliorer les performance de la BD. ?requêtes d’interrogation et de mise à jour plus rapides ?moins de valeurs NULL ?Gestion de l’intégrité des données simplifiée ? Principe : + PUIS + NOM + NSS + PRIX + COULEUR + NVH + TYPE + DATE + PRENOM + MARQUE NORMALISATION RELATION UNIVERSELLE R1 ( ............. ) R2 ( ............. ) . . . 4 Dépendances fonctionnelles ? Définition : X --> Y, X détermine Y, ou Y dépend fonctionnellement de X, X et Y éléments de R est une assertion sur toutes les instances de la relation R telle que si deux tuples quelconques de R possèdent la même valeur sur X, alors ils doivent avoir la même valeur sur Y. Formellement : X --> Y ssi quel que soit l’instance r de R, pour tout tuple t1 et t2 de r on a ? X(t1) = ? X(t2) ==> ? Y(t1) = ? Y(t2) Utilité Contrainte sur les données que peut contenir la relation. Outil de contrôle d’intégrité des données (niveau schéma). Outil mathématique permettant d’expliquer le processus de la « normalisation » Vital lorsqu’on veut ré-étudier le schéma d’une BD qui pose problème.
  • 3. 5 Axiomes d'Armstrong ? Propriétés de base Réflexivité Y inclus dans X => X -> Y Augmentation X -> Y => XZ -> YZ Transitivité X -> Y et Y -> Z => X -> Z ? Propriétés déduites Union X -> Y => X -> YZ X -> Z Pseudo-transitivité X -> Y => XW -> Z YW -> Z Décomposition X -> Y => X -> Z Z inclus dans Y 6 F+ et Couverture minimale ? Fermeture transitive d’un ensemble F de DF – F+ = F ? {DF déduites de celles contenues dans F} ? Couverture minimale d’un ensemble F de DF – Sous-ensemble minimum de DF élémentaires permettant de générer toutes les autres. – Théorème : tout ensemble de DF possède une couverture minimale, en général non unique. – Formellement, F est une CM ssi : ? Tout f dans F est élémentaire. ? Il n’existe pas de f dans F telle que F - {f} soit « équivalent » à F. ? DF élémentaires (les seules utiles) – Une DF élémentaire est une DF de la forme X -->A, où : ? A est un attribut, X un ensemble d’attributs, A n'est pas inclus dans X ? il n'existe pas X' inclus dans X tel que X' -> A ? Equivalence – On dit que deux ensembles de DF sont équivalents s’ils possèdent la même fermeture transitive.
  • 4. 7 Clé d’une relation ? Définition : Ensemble minimum d’attributs qui détermine tous les autres. ? Formellement : Soient : R (A1, A2, ..., An) un schéma de relation, F+ l'ensemble des DF associés et X un sous-ensemble de A1, A2, ... , An. X est une clé de R ssi : ? X -> A1 A2 ... An est dans F+ ? il n'existe pas de sous-ensemble X’inclus dans X tel que X’-> A1 A2 ... An ? Non unicité : ? Il peut y avoir plusieurs clés pour une relation (clés candidates) ? Une est choisie comme clé primaire ? Sur-clé : ? Sur-clé : X est sur-clé ssi X->R dans F+ 8 N° VEH COULEUR TYPE MARQUE PUISSANCE Graphe des DF VOITURE (N°VEH, TYPE, COULEUR, MARQUE, PUISSANCE)
  • 5. 9 CRU --> TYPE TYPE, CLIENT --> REMISE TYPE CLIENT REMISE A A B C1 C2 C1 3% 5% 4% TYPE CLIENT REMISE A A B C1 C2 C1 3% 5% 4% CRU CHENAS MEDOC JULIENAS Autre Exemple CRU TYPE CLIENT REMISE 10 Décomposition de schéma Définition : La décomposition d'un schéma de relation R(A1, … , An) consiste en son remplacement par une collection de relation (R1,… Rm) tel que SCHEM (R) = SCHEM (R1) U SCHEM (R2) U ... U SCHEM (Rm) But de la décomposition : Casser R en de plus petites relations afin d'éviter : les redondances les anomalies en mises à jour
  • 6. 11 Décomposition Sans Perte d’Information Définition Une décomposition d'une relation R en m relation (R1, … Rm) est SPI par rapport à un ensemble de DF si et seulement si, quelle que soit I une instance de R, alors I = I1 x I2 x ... x Im où Ij = ? Rj (I) Théorème Une décomposition de R en R1 et R2 est SPI si R1 ? R2 est sur-clé de R1 et/ou R2. 12 VOITURE NVH MARQ UE TYPE PUIS COULEUR 872RH75 RENAULT R21 7 BLEUE 975AB80 RENAULT R21 7 BEIGE R'1 X R'2 X R'3 872RH75 R21 7 BLEUE RENAULT 872RH75 R21 7 BEIGE RENAULT 975AB80 R21 7 BLEUE RENAULT 975AB80 R21 7 BEIGE RENAULT R1 R2 8H75 R21 BLEUE R21 RENAULT 7 97AB80 R21 BEIGE VOITURE = R1 X R2 R'1 R2 R'3 872RH75 R21 R21 7 BLEUE R21 RENAULT 975AB80 R21 R21 7 BEIGE VOITURE <> R'1 X R'2 X R'3 Exemple N° VEH COULEUR TYPE MARQUE PUISSANCE
  • 7. 13 Décomposition sans perte de DF Définition Une décomposition (R1, … Rm) de R préserve les DFs (SPD) si la fermeture transitive des DFs de R est la même que la fermeture transitive de l'union des Dfs des R1, … Rm Exemple 1) R1 (NVH, TYPE, COULEUR) =>F1 = { NVH -> TYPE, NVH -> COULEUR } R2 (TYPE, MARQUE, PUIS) => F2 = { TYPE -> MARQUE, TYPE -> PUIS } ==> OK 2) R'1 (NVH, TYPE) => F'1 = { NVH -> TYPE } R'2(TYPE, PUIS, COULEUR) =>F'2 = {TYPE -> PUIS} R'3(TYPE, MARQUE) => F'3 = {TYPE -> MARQUE} ==> ON A PERDU LA DF : NVH ->COULEUR 14 Exemple VOITURE NVH MARQUE TYPE PUIS COULEUR 872RH75 RENAULT R21 7 BLEUE 975AB80 RENAULT R21 7 BEIGE VOITURE (NVH, MARQUE, TYPE, PUIS, COULEUR) R1 (NVH, TYPE, COULEUR) R2 (TYPE, MARQUE, PUIS) R'1 (NVH, TYPE) R'2 (TYPE, PUIS, COULEUR) R'3 (TYPE, MARQUE) N° VEH COULEUR TYPE MARQUE PUISSANCE Décomposition
  • 8. 15 Une telle relation doit être décomposée en répétant les noms pour chaque profession PERSONNE NOM PROFESSION DUPONT Ingénieur, Professeur MARTIN Géomètre Formes normales ? Définition 1NF Une relation est en 1ère forme normale si tout attribut contient une valeur atomique (unique) ? Exemple 16 R K1 K2 X Y Une telle relation doit être décomposée en R1(K1,K2,X) et R2(K2,Y) 2NF ? Définition une relation est en 2e forme normale ssi : ? elle est en 1ère forme ? tout attribut non clé ne dépend pas d'une partie de clé ? Schéma
  • 9. 17 Exemple 2NF ? Exemple 1 : – Fournisseur (nom,adresse, article, prix) – La clé est (nom, article) – Mais nom --> adresse : pas en 2e forme ? Exemple 2 : – R (cru,type,client,remise) – La clé est (cru, client) – Mais cru --> type : pas en 2e forme 18 R K X Y Z Une telle relation doit être décomposée en R1(K, X, Y) et R2(X,Z) 3NF ? Définition – une relation est en 3e forme normale ssi : ? elle est en 2e forme ? tout attribut n'appartenant pas a une clé ne dépend pas d'un autre attribut non clé ? Schéma
  • 10. 19 Exemple 3ème Forme ? Exemple – Voiture (nvh, marque, type,puissance, couleur) – Type --> marque – Type --> puissance Pas en 3eme forme ! ? Caractéristiques de la 3NF : – redondance limitée – On arrive toujours à une décomposition en 3NF SPI et SPD 20 Exemples de Décomposition ? Voiture (nvh, marque, type, puissance, couleur) véhicule (nvh, type, couleur) Modèle (type, marque, puissance) ? Réduction (cru, type, client, remise) Remise (cru,client,remise) Type (cru,type) CRU TYPE CLIENT REMISE
  • 11. 21 Automatisation de la décomposition AUTOMATISATION DU PROCESSUS DE DECOMPOSITION EN 3NF, A PARTIR DE L'ENSEMBLE DES ATTRIBUTS ET DES DFs ALGORIHME DE DECOMPOSITION RELATIONS EN 3FN RELATION UNIVERSELLE DFs 22 Algorithme de décomposition 1. A partir du graphe G des DF, calculer une couverture minimale C 2. Editer l'ensemble des attributs isolés dans une même relation (tous les attributs sont clés) 3. Rechercher le plus grand ensemble X d'attibuts qui détermine d'autres attributs A1, … An 4. Editer la relation (X, A1, … , An) qui est en 3FN 5. Supprimer les DFs (X->A1, … X->An) du graphe de couverture minimale C 6. Supprimer les attributs isolés de C (i.e. les attributs non-cible ni source de DF) 7. Répéter l'opération de réduction du graphe C à partir de l'étape 3, jusqu'à ce que C soit vide. 8. Ajouter une relation dont les attributs forment une clé de la relation universelle NVH NPRO PRENOM NOM DATE PRIX COULEUR TYPE MARQUE PUIS
  • 12. 23 R K1 K2 X Y Une telle relation peut être décomposée en R1(K1, K2, X) et R2(Y,K1) Encore moins de redondances : la forme BCNF ? Définition une relation est en BCNF (Boyce-Codd Normal Form) ssi : les seules dépendances fonctionnelles sont du type clé détermine attribut non clé Plus simple que 3NF, un peu plus fort, mais ne peut pas toujours être obtenue SPD ! 24 CRU, PAYS --> REGION REGION--> PAYS Exemple CRU PAYS REGION R (CRU, PAYS, REGION) Décomposition BCNF : R1(REGION, PAYS) R2(CRU, REGION)
  • 13. 25 Conclusion ? Normalisation utile – pour obtenir une représentation canonique des entités du monde réel – pour améliorer la performance de la BD ? Normalisation automatisable – Algos 3NF – outils du commerce (Power Designer, ER-Win, etc.)