Normalisation
1
Introduction
• Une mauvaise conception des entités et associations représentant
le monde réel modélisé conduit à des relations problématiques
• Une redondance des données conduit à des risques
d'incohérences lors des mise à jour
• Il s'agit d'éliminer toute anomalie afin de faciliter la manipulation
des relations:
⇒ Normalisation des relations
= Eclatement d'une relation donnée en plusieurs relations
normalisées
L’approche par
décomposition
• A partir d'une relation composée de tous les attributs (relation
universelle),
• on décompose cette relation en sous-relations sans anomalies
• Le processus de décomposition est un processus de raffinement
successif qui doit aboutir à isoler des entités et des associations
du monde réel
• à partir d'une bonne compréhension des propriétés sémantiques
des données
• de sorte à obtenir une décomposition sans perte
Méthodes de décomposition
• Les clés
• Les Dépendances Fonctionnelles
• Les Formes Normales
Définition d’une clé
• CLE :
X est une clé si tout attribut de R dépend
fonctionnellement de X :
1) ∀ i=1, …n, : X Ai
2) ∀ U ⊆ X : U X⇒U=X
5
Dépendances fonctionnelles
• Un attribut ou groupe d’attributs Y d’une relation
dépend fonctionnellement de X si à toute valeur de X
correspond une valeur unique de Y (on dit que Y est
déterminé par X)
NOTATION :
X Y
• A une relation R (A1,…, An) , on associe donc un
graphe de dépendances fonctionnelles
6
Dépendances fonctionnelles
• BOTTIN (Ville, Departement, Code_postal)
BOTTIN VILLE DEPARTEMENT CODE-POSTAL
Poitiers Vienne 86000
St Benoit Vienne 86000
St Benoit Loiret 45110
Liguge Vienne 86240
C V
C D
7
Dépendances fonctionnelles
PROPRIETES :
• Réflexivité : U ⊆ X, ⇒ X U
• Augmentation : X Y ⇒ XZ YZ
• Transitivité : X Y, Y Z⇒X Z
• Décomposition : X Y, Z ⊆ Y ⇒ X Z
• Union : X Y, X’ Y’ ⇒ XX’ YY’
X A est une dépendance fonctionnelle élémentaire
SSI
1) A est un attribut n’appartenant pas à X
2) ∀ U ⊆ X : U A⇒U= X
8
Dépendances fonctionnelles
VOITURES Num-Imm. MARQUE MODELE PUISSANCE COULEUR
512 RA 33 RENAULT LAGUNA 7 Vert
313 RB 33 RENAULT LAGUNA 7 Bleu
678 LN 33 CITROEN XSARA 6 Rouge
676 LX 33 CITROEN XSARA 6 Noir
G: Puissance
Num-Imm Modèle
Couleur Marque
9
Un exemple jouet
• On considère la relation COMMANDE dont le
schéma est donné par :
COMMANDE(N°Commande,date,N°Client,
nom, N°Article, désignation, quantité)
• Essayez d’imaginer une représentation tabulaire
de cette relation.
• Quelles sont les dépendances fonctionnelles
définies dans cette relation ?
Première forme normale
(1NF)
• La mise en première forme normale permet d’éliminer les groupes répétitifs
dans une table. La démarche à suivre est la suivante :
– Sortir le groupe répétitif de la relation initiale
– Transformer le groupe répétitif en relation, rajouter dans la clé de la nouvelle
relation la clé primaire de la relation initiale.
Deuxième forme normale
(2FN)
• Exige que la relation soit en 1FN
• Ne concerne que les relations à clé primaire composée
• Impose que les attributs non clé primaire dépendent de la totalité de la clé primaire. Tout attribut
qui ne dépendrait que d’une partie de la clé sera exclu de la table. Le processus est le suivant :
– Regrouper dans une relation les attributs dépendant de la totalité de la clé, et conserver cette clé pour cette
relation
– Regrouper dans une autre relation les attributs dépendant d’une partie de la clé et faire de cette partie de la
clé, la clé primaire de la nouvelle relation.
Troisième forme normale
(3FN)
• Exige que la relation soit en 2FN
• Permet d’éliminer des dépendances transitives au sein d’une relation. La
démarche est la suivante :
– Conserver dans la relation initiale les attributs dépendant directement de la clé
– Regrouper dans une relation les attributs dépendant transitivement. L’attribut de
transition reste dupliqué dans la relation initiale et devient la clé primaire de la
nouvelle association
Résultat final
Un autre exemple
• Soit la relation R(A,B,C,D,E,F,G,H,F,K,L,M)
avec les dépendances fonctionnelles suivantes :
D → E, H
G → B, A, D, E, H, F, C
F → G,C, D, A, B
C → G, E, H
F, K→ L, M
F, D → A, H
• Donner une décomposition de cette relation afin
d’obtenir des relations en 3FN
• Solution :
– voir le tableau
– Une technique : dessiner de « grosses patates ».
15
Les formes normales
• Il existe d’autres formes normales :
– La 3ème forme normale de Boyce code
– Les 4, 5, et 6ème forme normale.
• Seront vues plus tard !
16