Normalisation d’une
(4) Base de Données
Relationnelle
2017-2018
Normalisation: Définition
Le processus de restructurer le modèle de données logiques pour :
◦ Eliminer les redondances,
◦ Organiser les données efficacement,
◦ Réduire le potentiel d'anomalies pendant les opérations sur les
données.
La théorie de la normalisation repose sur l'analyse de dépendances
entre attributs qui sont à l'origine de phénomènes de redondance.
La normalisation consiste en des méthodes de décomposition des
relations.
2
Normalisation: Définition
Les classifications formelles utilisées pour décrire le niveau de
normalisation d'une base de données relationnelle sont appelées les
formes normales (FN)
Il existe huit formes normales. Les quatre premières sont les plus
pratiques et sont à connaître.
Chaque nouvelle forme normale marque une étape supplémentaire de
progression vers des relations présentant de moins en moins de
redondance
Le but est d'obtenir une représentation des données présentant un
minimum de redondance à l'intérieur de chaque relation et un
maximum d'indépendance entre les différentes relations
3
Normalisation: Dépendances Fonctionnelles
La théorie de la normalisation est basée sur les "dépendances fonctionnelles"
(DF).
On dit qu'un attribut B dépend fonctionnellement d'un attribut A si,
étant donné une valeur de A, il lui correspond une unique valeur de
B.
Notation : A --> B
Exemple :
La dépendance fonctionnelle N°CIN NOM signifie qu'à un numéro
de CIN est associé un nom seulement.
Normalisation: Dépendances Fonctionnelles
Dépendance Fonctionnelle Simple (DFS)
Il y a DFS entre le constituant A et le constituant B (ou A détermine B, ou
B dépend fonctionnellement de A) Ssi à partir d’une valeur a DA on ne
peut lui associer qu’une seule valeur unique b DB.
Exemple: N°CIN Nom
Dépendance Fonctionnelle Élémentaire (DFE)
Il y a DFE entre le constituant A et le constituant B Ssi:
AB
X A tel que X B
E
Normalisation: Dépendances Fonctionnelles
Exemple: N°CIN NomPer
Cette DF est élémentaire car N°CIN est indécomposable
on ne peut pas trouver une partie incluse dans le N°CIN qui détermine
le nom d’une personne.
Exemple: NomPer N°CIN
On ne peut pas parler de DFE tant que la DFS n’est pas vérifiée.
Exemple: Matricule véhicule N°CIN
Numéro d’ordre
Numéro série
C’est une DFE
Normalisation: Dépendances Fonctionnelles
Exemple:
Deux plages d'une même région ne peuvent pas porter le même nom
(contrairement à deux plages de régions différentes) ; le degré de
pollution d'une plage dépend exclusivement de la plage et du nom de
la région.
NOMP POLLUTION
REGION POLLUTION
(NOMP, REGION) POLLUTION est une DFE.
Normalisation: Dépendances Fonctionnelles
Dépendance Fonctionnelle Directe (DFD)
Il y a DFD entre le constituant A et le constituant B Ssi
AB
X A tel queA X
E
XB
Exemple: N°Cde N°Client (DFD)
N°Client AdresseClt (DFD)
N°Cde AdresseClt (DF Non Directe)
Dépendances Fonctionnelles & Identifiants
Le graphe minimum des DF permet de trouver les identifiants de la
relation
L’identifiant d’une relation est l’ensemble (minimal) des nœuds du
graphe minimum à partir desquels on peut atteindre tous les autres
nœuds (via les DF)
Exemples: E
T1 (A, B, C, D, E)
A B CD
X Y
T2 (A, B, C, D, E, X,Y)
A B C E
D
Normalisation
Que faire si une relation n’est pas « normalisée » ?
DÉCOMPOSITION
La relation doit être remplacée par un ensemble de relations (plus
petites: moins d’attributs)
Décomposition d'une relation
Soit une relation non satisfaisante trouver un ensemble de relations
satisfaisantes qui décrit les mêmes informations
Normalisation
Ensemble de sous-relations
Relation obtenues par projection
(Projection)
* (Jointure)
Exemple de Projection:
S B C D B,D(S) B D
b c d b d
a a b a b
a a c a c
Exemple de Jointure:
R A B S B C D R S A B C D
a b b c d a b c d
a c a a b b b c d
b b a a c
Qualité d’une Décomposition
Une « bonne » décomposition est une décomposition
sans perte d’information: La « recomposition » de la relation à partir des
« morceaux » doit redonner la relation initiale
sans perte de DF: toute DF doit être dans l’une des relations obtenues
par décomposition
Sans Perte d’information
soit T (x, y, z) décomposée en T1 ( x, y) et T2 (x, z)
tel que: T1 = PROJECTION [x, y] T
T2 = PROJECTION [x, z ] T
La décomposition est sans perte d’informations Ssi :
T = JOINTURE (T1, T2)
Exemple de Bonne Décomposition
T
NomEmpl Adresse Poste Date-Naissance
Ben Saleh Tunis Directeur 12/10/45
Zeineb Bizerte Secrétaire 10/09/76
Fatma Nabeul Secrétaire 14/12/80
T1 T2
NomEmpl Adresse Poste NomEmpl Date
Ben Saleh Tunis Directeur Ben Saleh 12/10/45
Zeineb Bizerte Secrétaire Zeineb 10/09/76
Fatma Nabeul Secrétaire Fatma 14/12/80
Exemple de Mauvaise Décomposition
T1 T2
NomEmpl Adresse Poste Poste Date
Ben Saleh Tunis Directeur Directeur 12/10/45
Zeineb Bizerte Secrétaire Secrétaire 10/09/76
Fatma Nabeul Secrétaire Secrétaire 14/12/80
Ben Saleh Tunis Directeur 12/10/45
Zeineb
Zeineb
Bizerte
Bizerte
Secrétaire
Secrétaire
10/09/76
14/12/80
#T
Fatma Nabeul Secrétaire 14/12/80
Fatma Nabeul Secrétaire 10/09/76
Normalisation: 1ère Forme Normale
1FN (rubrique élémentaire) :
Une Relation est en 1FN, si touts les attributs sont élémentaires ou
atomiques.
Un attribut représente une donnée élémentaire du monde réel ;
Un attribut ne peut désigner, ni une donnée composée d'entités
de natures différentes, ni une liste de données de même nature.
Normalisation: 1ère Forme Normale
Nom Note 1 Note 2 Note 3
Ben Saleh 8 12.5 NULL
Nom Notes Tounsi 2.5 0 18
Ben Saleh 8,12.5 …
Tounsi 2.5, 0 , 18
Nom Note
…
Ben Saleh 8
Ben Saleh 12.5
Tounsi 2.5
Tounsi 0
Tounsi 18
…
La relation R n’est pas en 1FN.
Normalisation: 2ème Forme Normale
2FN (dépendance fonctionnelle élémentaire) :
Une Relation est en deuxième forme normale, si:
Elle remplit les conditions de la 1FN et si,
Tout attribut n'appartenant pas à une clé ne dépend pas d'une
partie de cette clé. (DFE)
A,B -> C
B->C
Normalisation: 3ème Forme Normale
3FN (Dépendance Fonctionnelle Directe):
Une relation est en 3FN si :
Elle est en 2FN ;
Tout attribut n'appartenant pas à une clé ne dépend pas d'un
attribut non clé. (DFD)
Normalisation: F N de Boyce Codd
Une relation est en FNBC si
Elle est en 3FN
Les seules DF sont de la forme Clé X (seules les clés sont en partie
gauche de DF: Source de DF)
Exemple: Université (étudiant, matière, enseignant, note)
avec les DF
étudiant, matière → enseignant, note N’est pas en FNBC
enseignant → matière
Exemple: Personne (nom, prénom, Date-Naissance, nbrEnfants)
avec la DF
Elle est en FNBC
nom, prénom → Date-Naissance, nbrEnfants
Normalisation: Application
Soit la relation R (A, B, C, D, E) avec les DFs suivantes:
A B
A C A
C, D E
B D B D C
1. Donner le graphe minimum des DFs E
2. Déterminer l’identifiant de la relation R
3. Dire si R est en FNBC ? Non
4. Rendre la relation en FNBC sinon
Dépendances Fonctionnelles: Application
Soit la relation R (A, B, C, D, E) avec les DFs suivantes:
A
A B
A C
C, D E B D C
B D
E
BD
Décomposer R en
R1 (B, D)
R2 (A, B, C, E)
R2 N’est pas en FNBC Pourquoi? C, D E
Décomposer R2 en
R21(D, C, E)
R22(A, B, C)
Dépendances Fonctionnelles: Application
Soit R(A, B, C, D, E, F, G)
Ces DFs sont-elles vérifiées dans ces instances ?
A B C D E F G
a1 b2 c2 d3 e2 f1 g3 A, B C Oui A, B F non
a1 b2 c2 d1 e4 f3 g2 A, B D Non B C Oui
a2 b3 C2 d1 e5 f2 G2 A, B E Non D E Non
a2 b4 C5 d1 e5 f3 G2 G A non D F Non