Académique Documents
Professionnel Documents
Culture Documents
Chapitre 4 : La Normalisation
Objectifs :
Eléments de contenu
I. Introduction
II. Dépendance fonctionnelle
1. Définition
2. Propriétés des dépendances fonctionnelles
3. Dépendance fonctionnelle élémentaire
4. Dépendance fonctionnelle transitive
5. Clé d’une relation
III. Les formes normales
1. Première Forme Normale (1FN)
2. Deuxième Forme Normale (2FN)
3. Troisième Forme Normale (3FN)
4. Forme Normale de Boyce-codd (BCNF)
IV. Conclusion
Mme youmbi 5
Normalisation
Chapitre 4 : La Normalisation
I- Introduction
Un schéma de relation est décrit par la liste de ses attributs et de leurs contraintes d’intégrité
éventuelles. La constitution de la liste d’attributs du schéma ne peut pas se faire n’importe comment
pour ne pas occasionner de redondance, avec toutes ses implications (perte de place, risques
d’incohérence et de perte d’informations). Les formes normales des relations et les mécanismes
pour les construire permettent d’obtenir des relations non redondantes. Ces mécanismes sont fondés
sur les notions de clés de relations et de dépendances entre données.
Ces dernières fournissent les conditions d’application d’un processus dit de normalisation qui mène
à des formes « correctes » de relations qui sont les formes normales.
PRODUIT (Refproduit, LibelleProduit, PU, Quantité, NumService, Adresse, Capacité) qui est
visiblement redondante.
• Redondance : un produit apparaît autant de fois qu’il sera livré par un service
• Mise à jour : faute de redondance, les mises à jour conduiront à des risques d’incohérence
et de non intégrité.
Mme youmbi 6
Normalisation
• Chaque relation décrit une information élémentaire avec les seuls attributs qui lui sont
directement liés
• Il n'y a pas de redondance d’information qui peuvent produire des problèmes de mise à jour
Exemple
Propriété 1 : Réflexivité
Y X X→ Y
Tout ensemble d’attributs détermine lui-même ou une partie de lui-même.
Propriété 2 : Augmentation
X→ Y X,Z→ Y,Z
Si X détermine Y, les deux ensembles d’attributs peuvent être enrichis par un même troisième.
Mme youmbi 7
Normalisation
Propriété 3 : Transitivité
X → Y et Y → Z X → Z.
Propriété 4 : Union
X → Y et X → Z X → Y, Z
Propriété 5 : Pseudo-transitivité
X → Y et W, Y → Z W,X → Z
Propriété 6 : Décomposition
X → Y et Z Y X→ Z
3- Dépendance fonctionnelle élémentaire
Une Dépendance fonctionnelle X → Y est élémentaire si pour tout X’ X la dépendance
fonctionnelle X’ Y n’est pas vraie. En d’autres termes, Y ne dépend pas fonctionnellement d’une
partie de X (X est la plus petite quantité d’information donnant Y).
Exemple : RefProduit, LibelleProduit → PU n’est pas élémentaire car il suffit d’avoir la référence
du produit pour déterminer son prix unitaire.
X→Y est une dépendance fonctionnelle transitive s’il existe un attribut Z tel que X→Z et Z→Y
Transitivité
X →Y
Formellement :
Un attribut ou une liste d’attributs X est une clé pour la relation R(X,Y,Z) si
• et X → Y, Z est élémentaire.
Mme youmbi 8
Normalisation
Une relation peut avoir plusieurs clés. Une clé sera choisie et désignée comme clé primaire.
Un attribut d’une relation R est appelé attribut clé s’il appartient au moins à une clé de R.
Un attribut est dit attribut non clé s’il n’appartient pas à une clé de R.
Cette définition permet d’exclure les relations ayant des attributs dont les valeurs seraient des
ensembles ou des listes de valeurs.
Exemple :
C18 Ali Ap4 12, rue de la gare 01.07.09 31.08.11 350 P40 Anis
Mme youmbi 9
Normalisation
NumCL→NomCl
NumProp → NomProp
Pour transformer cette relation en 1FN, il faut l’aplatir en considérant comme clé le couple (NumCl,
NumApp).
C18 Ap4 Ali 12, rue de la gare 01.07.09 31.08.11 350 P40 Anis
C26 Ap4 Salah 12, rue de la gare 01.08.08 10.06.09 350 P40 Anis
• et que tout attribut n’appartenant pas à une clé ne dépendra d’aucun sous-ensemble de clé
(ne dépend pas d’une partie d’une clé).
Mme youmbi 10
Normalisation
Exemple :
Supposons qu’on veuille modifier ou corriger l’adresse d’un appartement apparaissant plusieurs fois
dans la table (différents locataires à différentes périodes), il faut modifier plusieurs n-uplets.
Ceci est dû au fait que certains attributs ne dépendent pas pleinement de la clé, et qu’il existe donc
des dépendances partielles.
• En cas de mise à jour du Montant, l’obligation serait de balayer toute la table pour modifier
cette dernière partout où elle peut être présente;
(4) NumCL→NomCl
(5) NumApp → AdrApp, Montant, NumProp, NomProp
(1) et (4) donnent (1) n’est pas une dépendance fonctionnelle élémentaire.
De même, (2) et (5) montrent que (2) n’est pas une dépendance fonctionnelle élémentaire.
Mme youmbi 11
Normalisation
Pour aboutir à un schéma relationnel en 2FN, il faut éliminer les dépendances fonctionnelles non
élémentaires puis regrouper les dépendances fonctionnelles qui ont la même origine pour former
une relation.
• et que tout attribut n’appartenant pas à une clé ne dépendra pas d’un attribut non clé (R ne
contient aucune dépendance fonctionnelle transitive).
La troisième forme normale permettra d’éliminer les redondances dues aux dépendances transitives.
La décomposition en 3FN est sans perte d’informations et préserve les dépendances fonctionnelles.
Exemple :
Mme youmbi 12
Normalisation
Les relations Client et Location sont en 3FN, puisqu’elles sont déjà en 2ème forme normale et qu’il
n’existe aucun attribut non clé qui dépend d’un autre attribut non clé.
On s’intéresse maintenant à la relation Appartement. Elle est en 2FN et présente les dépendances
suivantes :
NumApp → NomProp
NumProp
Ici, nous avons une transitivité, donc il faut éliminer la dépendance fonctionnelle transitive, regrouper
les dépendances ayant la même racine et reconstruire les relations.
D’où
En d’autres termes une relation est en BCNF, si elle est en 3FN et qu’aucun attribut membre de la
clé ne dépend fonctionnellement d’un attribut non membre de la clé.
Exemple 1:
Mme youmbi 13
Normalisation
CodePostal → Ville
Elle est en 3FN (car elle est en deuxième forme normale, et tout attribut n’appartenant pas à une clé
ne dépendra pas d’un attribut non clé).
Cette relation n’est pas en BCNF car l’attribut ‘’Ville’’ (qui fait partie de la clé) dépend
fonctionnellement de CodePostal (qui est un attribut non membre de la clé).
Exemple 2:
Dans ces relations, nous n’avons aucun attribut clé qui dépend d’un attribut non clé. Donc elles sont
en BCNF.
IV- Conclusion
Ce chapitre a été consacré à l’étude du processus de normalisation et à la présentation des différents
types de dépendances fonctionnelles et de leurs types. Ces dépendances fonctionnelles sont vues
comme des contraintes d’intégrité. Elles servent à réduire la redondance des données et à éviter des
risques d’anomalies à travers des schémas relationnels « corrects ».
Généralement, la démarche de la mise en place d’une base de données relationnelle est la suivante:
Mme youmbi 14
Normalisation
Mme youmbi 15