Vous êtes sur la page 1sur 24

Base de données

Chapitre 4 : Normalisation d’une


base de données relationnelle

Mohamed HAMMAMI
Professeur à la FSS – Université de Sfax
mohamed.hammami@fss.usf.tn
Schéma relationnel
Client
idClient 0,n 0,n Livre
emprunte
nom idLivre
DateRetour
tel titre
adresse

Client
Emprunte
idClient Livre
dateRetour
nom idLivre
idClient
tel titre
idLivre
adresse

Client(idClient, nom, tel, adresse)


Emprunte(idfClient, idLivre, dateRetour) Schéma Relationnel
Livre(idLivre, titre)

LFI 2 - FSS
Mohamed HAMMAMI 2
Normalisation
Schéma EA

Niveau conceptuel (EA)


VALIDATION

Schéma EA valide

Niveau logique
(Relationnel) TRADUCTION
EA - R

NORMALISATION

Schéma relationnel Normalisation Schéma Relationnel


normalisé
LFI 2 - FSS
Mohamed HAMMAMI 3
Qu’est-ce qu’une BD ‘correcte’ ?

Un ensemble de relations tel que :


chaque relation décrit un fait élémentaire avec les
seuls attributs qui lui sont directement liés

il n'y a pas de redondance d’information,


génératrices de problèmes lors des MAJ

il n'y a pas de perte d ’information


 Personne (nom, prénom), Adresse (no, rue, ville) Qui
habite où ? Impossible de répondre !

LFI 2 - FSS
Mohamed HAMMAMI 4
Qu’est-ce qu’une BD ‘incorrecte’ ?

Une relation n’est pas correcte si :


elle implique des répétitions au niveau de sa population

elle pose des problèmes lors des MAJ insertions / modifications


/ suppressions

Les conditions pour qu'une relation soit correcte peuvent être


définies formellement :

=> règles de normalisation

LFI 2 - FSS
Mohamed HAMMAMI 5
Qu’est ce que la normalisation ?
 La normalisation constitue un ensemble de règles
introduites dans le modèle relationnel afin de garantir la
cohérence de la BD.

 Son importance commence avec la conception de la


structure de la base puisqu’elle permet d’affecter
correctement les attributs dans les différentes relations ce
qui permet de donner à la base une sémantique traduisant
le monde réel.

 Le processus de normalisation passe par plusieurs étapes


constituant les différentes formes normales qui se
présentent comme des règles de construction.

LFI 2 - FSS
Mohamed HAMMAMI 6
Normalisation
Processus de transformation d'une relation posant des
problèmes lors des MAJ en relations ne posant pas de
problèmes
On mesure la qualité d'une relation par son degré de
normalisation (1FN, 2FN, 3FN).
Les différentes formes normales sont dépendantes et
structurées. En effet une relation ne peut être en 2FN que si
elle est déjà en 1FN.
3 FN
2 FN
1 FN

LFI 2 - FSS
Mohamed HAMMAMI 7
Formalisation du problème

L’adresse d’un fournisseur ne dépend que du


fournisseur, ..…
 DÉPENDANCE FONCTIONNELLE (DF)

soit une table T (x, y, z)


 il existe une DF : x  y si et seulement si dans T à une
même valeur de x correspond toujours une même valeur
de y

LFI 2 - FSS
Mohamed HAMMAMI 8
Formalisation

T: X Y Z
x1 y1 z1
..........................
x1 y1 z2
..........................

X  Y: X détermine Y Y dépend de X

X : source de la DF, Y : cible de la DF

la source peut être un ensemble d’attributs :


(nom, prénom) adresse

LFI 2 - FSS
Mohamed HAMMAMI 9
Exemple de graphe des DF
Livraison (N°fourn, adr.f, N°prod, prix.p, qté)
N°fourn  adr.f
 l ’adresse d ’un fournisseur ne dépend que du fournisseur

N°prod  prix-p
 le prix d ’un produit ne dépend que du produit

(N°fourn, N°prod)  qté


 la quantité livrée dépend du produit et du fournisseur

[faux: N°fourn  qté, N°prod  qté ]


N°fourn N°prod

adr.f qté prix.p


LFI 2 - FSS
Mohamed HAMMAMI 10
Normalisation
Que faire si une table n’est pas « normalisée » ?
 DECOMPOSITION

La table doit être remplacée par un ensemble de


tables (plus petites : moins d’attributs)

LFI 2 - FSS
Mohamed HAMMAMI 11
Qualité d’une décomposition

Une « bonne » décomposition est une décomposition


1) sans perte d ’information
2) sans perte de DF

Sans perte de DF :
toute DF doit être dans l’une des tables obtenues par
décomposition

LFI 2 - FSS
Mohamed HAMMAMI 12
1ère forme normale : 1FN

Une relation R est en 1FN ssi:

• Elle possède une clé


• Tous ses attributs sont atomiques

Un attribut atomique Attribut ayant une valeur simple (ne regroupe pas
un ensemble de valeurs).

Exemple:
Employé (code, nom, caractéristiques)
E01 X analyste,12/01/98
E02 Y programmeur,13/04/01

LFI 2 - FSS
Mohamed HAMMAMI 13
1ère forme normale : 1FN


Employé (code, nom, caractéristiques)
E01 X analyste,12/01/98
E02 Y programmeur,13/04/01

Employé (code, nom, fonction, date_embauche)


E01 X analyste 12/01/98
E02 Y programmeur 13/04/01

Exemple :
Livraison (N°fourn, adr.f, N°prod, prix.p, qté) ?
LFI 2 - FSS
Mohamed HAMMAMI 14
2ème forme normale : 2FN
Une relation R est en 2 FN ssi:

• Elle est en 1FN


• Toutes ses DF sont élémentaires

• Une DF est dite élémentaire (A  B) ssi il n’existe aucun A’ A /


A’  B

Autrement
une table est en 2FN si
 elle est en 1FN, et
 chaque attribut qui ne fait pas partie de l’identifiant dépend
d’un identifiant entier (et non sous partie d’un identifiant)

LFI 2 - FSS
Mohamed HAMMAMI 15
2ème forme normale : 2FN
Exemple 1:

Salarié (Code_s, Cod_dep, nom, intitulé_dep, adresse)

Cette relation est en 1FN mais non en 2FN car les DF


( Cod_s, Cod_dep)  nom, intitulé_dep, adresse ne sont pas élémentaires

Cod_s  nom, adresse


Cod_dep  intitulé_dep

La solution réside dans la décomposition de la relation:


R1 (code_s, nom, adresse, cod_dep)

R2 (code_dep, intitulé)
LFI 2 - FSS
Mohamed HAMMAMI 16
2ème forme normale : 2FN
Exemple 2:

Livraison (N°fourn, adr.f, N°prod, prix.p, qté)


N°fourn N°prod

Adr.f . qté prix.p

Redondance : n produits pour un #fourn


Pb MAJ : ajout d’un nouveau produit => ajout de l’adresse
Pb supp. : suppression de la liste des produit d’un fournisseur
Pb MAJ : changement d’adresse d’un fournisseur

LFI 2 - FSS
Mohamed HAMMAMI 17
2ème forme normale : 2FN
Livraison (N°fourn, adr.f, N°prod, prix-p, qté)
3 Lausanne 52 65 10
22 Bienne 10 15 5
22 Bienne 25 10 12
3 Lausanne 25 10 5
3 Lausanne 10 15 20

L’adresse du fournisseur ne dépend pas du produit

Le prix du produit ne dépend pas du fournisseur


 REDONDANCES

Anomalies de mise à jour

LFI 2 - FSS
Mohamed HAMMAMI 18
2ème forme normale : 2FN
Livraison (N°fourn, adr.f, N°prod, prix-p, qté)
3 Lausanne 52 65 10
22 Bienne 10 15 5
22 Bienne 25 10 12
3 Lausanne 25 10 5
3 Lausanne 10 15 20

Si un fournisseur change d’adresse et qu’un seul tuple


(une seule ligne) est mis à jour :
 incohérence

Si une nouvelle ligne est insérée pour un fournisseur


connu, mais avec une adresse différente :
 incohérence
LFI 2 - FSS
Mohamed HAMMAMI 19
2ème forme normale : 2FN
Livraison (N°fourn, adr.f, N°prod, prix.p, qté)

Graphe des DF: N°fourn N°prod

adr.f qté prix.p


Identifiant : N°fourn + N°prod

 Décomposition :
 N°prod  prix.p  Prod (N°prod, prix.p)
 N°fourn  adr.f  Fourn (N°fourn, adr.f)
 (N°fourn, N°prod)  qté  Livr. (N°fourn, N°prod, qté)

LFI 2 - FSS
Mohamed HAMMAMI 20
3ème forme normale : définition
Une relation R est en 3FN ssi:

• Elle est en 2 FN
• Toutes ses DF sont directes

• Une DF est dite directe ssi il n’existe aucun X de R tel que A  X et X


B
Exemple 1:
Produit (cod pdt, design, cod_tva, taux_tva)

Cette relation est en 1FN et 2 FN mais non en 3FN car :


- la DF cod_pdt  taux_tva n’est pas directe

LFI 2 - FSS
Mohamed HAMMAMI 21
3ème forme normale : définition

cod_pdt  code_tva

cod_tva  taux_tva

La solution réside dans la décomposition de la relation:

R1 (code_pdt, design, code_tva)


R2 (code_tva, taux_tva)

LFI 2 - FSS
Mohamed HAMMAMI 22
3FN : 3ème forme normale
Exemple 2:

Fournisseur (N°fourn, ville, pays)

N°fourn

ville pays

doit être décomposée en


F (N° fourn, ville)
G (ville, pays)

LFI 2 - FSS
Mohamed HAMMAMI 23
Résumé
Une relation est en 1FN si chaque valeur de chaque
attribut de chaque tuple est une valeur simple (tous
les attributs sont simples et monovalués).

une table est en 2 FN si


 elle est en 1FN, et
 chaque attribut qui ne fait pas partie de l’identifiant dépend
d’un identifiant entier (et non sous partie d’un identifiant)

3 FN: si T est en 2FN et chaque attribut qui ne fait


pas partie de l’identifiant dépend directement d’un
identifiant entier
LFI 2 - FSS
Mohamed HAMMAMI 24

Vous aimerez peut-être aussi