Vous êtes sur la page 1sur 30

CHAPITRE 3

NORMALISATION DES
DONNEES

1
NORMALISATION DES DONNEES

A. Dépendances fonctionnelles
B. Règles de dépendances fonctionnelles
C. Dépendance fonctionnelle élémentaire
D. Dépendance fonctionelle directe
E. Formes normales

2
A.DEPENDANCES
FONCTIONNELLES
Soient R(A1, A2, ..., An) un schéma de relation, X et Y
deux sous-ensembles de (A1, A2, ..., An)
Dépendance fonctionnelle
Y dépend fonctionnellement de X Si et seulement si à
toute valeur de X correspond une valeur unique de Y.
Détermination
X → Y : X détermine Y si pour tout tuple t1 et t2 de R,
on a : R[X](t1) = R[X](t2) → R[Y](t1) = R[Y](t2)

3
EXEMPLE DE DEPENDANCES
FONCTIONNELLES

C1→ C4 C1,C2 → C3,C5 4


Axiomes d'Armstrong

1. Réflexivité
2. Augmentation
3. Transitivité
4. Union
5. Distributivité
6. Décomposition

5
Soient X, Y et Z trois groupes d’attributs tels que
X=YᴜZ alors

Tout groupe d'attributs se détermine lui-même.


X→X
Tout groupe d'attributs détermine chacun de ses
sous groupes d’attributs.
X → Y et X → Z

6
Soient X, Y et Z des groupes d’attributs
Si un groupe d’attributs X détermine un groupe
d’attributs Y, alors tout groupe composé de X enrichi
avec un groupe d’attributs Z détermine un groupe
composé de Y et enrichi du groupe d’attributs Z.

X→Y ⇒ XZ→YZ

7
Soient X, Y et Z des groupes d’attributs.
Si un groupe d’attributs X détermine un groupe
d’attributs Y qui à son tour détermine un groupe
d’attributs Z alors X détermine Z.
X → Y et Y → Z alors X→Z

8
Soient X, Y et Z des groupes d’attributs.
Si un groupe d’attributs X détermine un groupe
d’attributs Y et un groupe d’attributs Z alors il
détermine tout groupe composé de Y et Z.
X → Y et X → Z alors X → YZ

9
Soient X, Y et Z des groupes d’attributs

X → YZ alors X→Y et X→Z

10
Soient X, Y et Z des groupes d’attributs
avec Z inclus dans Y.

X→Y alors X→Z

11
Soient :
 X un ensemble d’attributs
 X’ un sous-ensemble de X : X’est inclus dansX
 A un attribut n’appartenant pas à X

La dépendance fonctionnelle X → A est élémentaire


s’il n’existe pas X’ tel que X’ → A

12
Soient :
 X un ensemble d’attributs
 Y un ensemble d’attributs tel que Y est non
inclus dans X et Y ne détermine pas X
 A un attribut n’appartenant pas à Y

La dépendance fonctionnelle X → A est directe s’il n’existe pas


Y tel que X → Y Y → A.

13
E.NORMALISATION DES
DONNEES
1. Objectif
2. Relations en formes quelconques
3. 1ère Forme Normale
4. 2 ème Forme Normale
5. 3 ème Forme Normale

14
1.OBJECTIF
Détecter et étudier les dépendances à l’intérieur
des relations pour en éliminer les informations
redondantes et les anomalies qui en résultent.

15
2.RELATIONS EN FORMES
QUELCONQUES

Une relation en forme quelconque correspond à la


description d'un objet sous sa forme la plus
générale sans respecter aucune règle particulière de
représentation

16
3.1 ère
FORME NORMALE

Relation en 1FN
Une relation est en 1FN si et seulement si tous ses
attributs sont atomiques (élémentaires) et
monovalués.
monovalués

17
3.1 ère
FORME NORMALE
 Attribut composé
Soit une relation R(e1,e2, e3,e4,e5) avec e3 attribut non
atomique e3 est composé de e31,e32 et e33. R n’est pas
en 1FN.

Pour la rendre en 1FN, il faut décomposer l’attribut e3.


La relation R1(e1,e2, e31,e32,e33,e4,e5) est en 1FN.
 Exemple
employes (empno,nom, prenom,adresse)
La relation employes n’est pas en 1FN car l’attribut adresse
peut être décomposé en plusieurs attributs simples.
La relation employes1(empno,nom, prenom,no,rue,ville, code
postal) est en 1FN.

18
3.1 ère
FORME NORMALE
 Attribut multivalué
Soit une relation R(e1,e2, {e31/e32/e33},e4) avec e3 attribut
mulitivalué. R n’est pas en 1FN car l’attribut e3 est
multivalué.

Pour la rendre en 1FN, il faut la décomposer en 2 relations


comme suit :

R1(e1,e2,e4)
R2(e1#,e3)

Les deux relations R1 et R2 sont en 1FN car tous les attributs


sont atomiques et monovalués

19
3.1 ère
FORME NORMALE
 Exemple
Livres (isbn, titre, {auteur1, auteur2, auteur3})

La relation livres n’est en 1FN car l’attribut auteurs est


multivalué.

Elle doit être découpé en 2 relations.


 Livres1(isbn, titre) et
 livres_auteurs(isbn#, auteur)

20
4.2 ème
FORME NORMALE
Relation en 2FN
Une relation est dite en 2ème forme normale 2FN si :
elle est déjà en première forme normale 1FN
il n'existe pas une partie de la clé qui détermine
fonctionnellement un attribut non clé. Les attributs
non clés doivent dépendre de la totalité de la clé.
Une relation en 1FN dont la clé n’est pas composée
est en 2FN

21
4.2 ème
FORME NORMALE
Soit une relation R en 1FN avec :
R(e1, e2, e3, e4, e5, e6, e7,e8, e9, e10)
e1,e2 →e7,e8
e3 →e10
R n’est pas en 2FN car les attributs non clés e7,e8 et e10
dépendent d’une partie de la clé. La clé est composée de
e1, e2 et e3.
On remarque que les attributs non clés peuvent être
répartis en 3 groupes.
 Un 1er groupe formé des attributs e4, e5, e6 et e9
qui dépendent de la clé composée (e1,e2,e3)
 Un 2ème groupe formé des attributs e7 et e8 qui
dépendent de la clé composée (e1,e2)
 Un 3ème groupe comprenant l’attribut e10 et qui
dépend de la clé simple e3

22
4.2 ème
FORME NORMALE
R doit être décomposée en 3 relations comme suit :

R1(e1, e2, e3, e4, e5, e6, e9)


R2(e1, e2, e7, e8)
R3(e3, e10)

R1, R2 et R3 sont toutes en 2FN car dans chaque relation


tous les attributs non clés dépendent de la totalité de la
clé.

23
Exemple 2FN
Employes(matricule, idservice, nom, salaire, nomservice)
avec matricule →idservice, nom, salaire, nomservice

Employes n'est pas en 2FN car les attributs nom,


salaire et nomservice dépendent uniquement de
matricule.

Employes1(matricule, idservice, nom, salaire, nomservice)


est en 2FN

24
Exercice 2FN
Mettre en 2FN la relation commandes
Commandes(nocmd, codprod, datecmd, totalcmd, codclient, nomclient,
adresse,designationprod, prix, qté, totalprod)

25
Corrigé

Commandes(nocmd, codprod, datecmd, totalcmd, codclient,


nomclient, adresse,designationprod, prix, qté, totalprod)
A partir de la relation commandes, nous avons les dépendandances
fonctionnnelles suivantes:
1.nocmd →datecmd, totalcmd, codclient, nomclient, adresse
2.codprod →designationprod, prix
3.nocmd, codprod → qté, totalprod
Commandes n’est pas en 2FN car les attributs datecmd, totalcmd,
codclient, nomclient, adresse, designationprod et prix dépendent d’une
partie de la clé qui est composée de nocmd, codprod.

26
Corrigé

Commandes1(nocmd, datecmd, totalcmd, codclient, nomclient, adresse)


Produits(codprod, designationprod, prix)
Produits_commandes(nocmd, codprod, qté, totalprod)
Commandes1, Produits et Produits_commandes sont toutes en 2 FN car
tous les attributs non clés de la totalité de la clé

27
5.3 ème
FORME NORMALE

Relation en 3FN
Une relation est dite en troisième forme normale
3FN si :
elle est déjà en 2FN
Aucune dépendance fonctionnelle entre attributs
non clés

28
5.3 ème
FORME NORMALE
Soit une relation R en 2FN avec :
R(e1, e2, e3, e4, e5, e6, e7,e8, e9, e10)
e6 →e7,e8
e9 →e10
R n’est pas en 3FN car les attributs non clés e7,e8 et
e10 dépendent d’autres attributs non clés.
R doit être décomposée en 3 relations comme suit :
R1(e1, e2, e3, e4, e5, e6#, e9#)
R2(e6, e7, e8)
R3(e9,e10)

29
Exemple 3FN
Commandes(nocmd,datecmd,totalcmd, codclient,
nomclient, adresse)
Commandes n’est pas en 3FN car l’attribut codclient
détermine nomclient et adresse.

La relation commandes doit être décomposée en 2


relations :
Commandes1(nocmd,datecmd,totalcmd, codclient#)
Clients(codclient, nomclient, adresse)

30