0% ont trouvé ce document utile (0 vote)
47 vues38 pages

Normalisation Relationnelle et Formes Normales

La normalisation relationnelle est une méthode de conception de tables visant à éliminer la redondance et à éviter la perte d'information. Elle repose sur des concepts tels que la dépendance fonctionnelle et les formes normales (1FN, 2FN, 3FN) pour structurer les données de manière cohérente. Les algorithmes de normalisation permettent de décomposer ou de synthétiser des schémas relationnels pour atteindre une conception optimale.

Transféré par

yassineelmatror
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
47 vues38 pages

Normalisation Relationnelle et Formes Normales

La normalisation relationnelle est une méthode de conception de tables visant à éliminer la redondance et à éviter la perte d'information. Elle repose sur des concepts tels que la dépendance fonctionnelle et les formes normales (1FN, 2FN, 3FN) pour structurer les données de manière cohérente. Les algorithmes de normalisation permettent de décomposer ou de synthétiser des schémas relationnels pour atteindre une conception optimale.

Transféré par

yassineelmatror
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Introduction à la

normalisation relationnelle

Abdelkrim LAHLOU
[email protected]
Plan
I. Introduction
II. Dépendance fonctionnelle
III. Formes normales (1FN – 2FN – 3FN)
IV. Algorithmes de normalisation
V. Conclusion

2
I – Introduction
• La théorie de la normalisation permet de définir une méthode de
conception de « bonnes » tables, c'est-à-dire sans redondance
et sans perte d'information
• Exemple :

• Redondance : on dit 2 fois que le propriétaire N°1500 a pour


nom BBBBB et habite à Nantes
3
Pourquoi la normalisation ?

• pour éliminer les redondances


• pour mieux comprendre les relations sémantiques
entre les données
• pour éviter les incohérences de mise à jour
• pour éviter, autant que possible, les valeurs nulles
Insertion d’une personne sans voiture  introduction de valeurs nulles
• Pour éviter la perte d’information
Suppression de la dernière voiture possédée par une personne  perte
d’information

4
Exemple
• Relation COURS

• des données redondantes : Dupont à Lille (59)


• des risques d'incohérence : déménagement de Dupont à
Marseille
• des valeurs nulles : représenter un prof qui n'a pas d'étudiant
entraînent des anomalies à l'interrogation
– Problème du choix des relations
5
Comment normaliser un schéma
relationnel ?
• Approche par décomposition :
– on part d’une table contenant tous les attributs
– et on décompose jusqu’à ce qu’il n’y ait plus de
redondances

• Approche par synthèse :


– à partir de l’ensemble des attributs
– et des dépendances fonctionnelles
– on constitue les tables
6
Exemple de table non normalisée

7
Exemple de normalisation par décomposition
en utilisant les Dépendances Fonctionnelles

8
Décomposition sans perte
Jointure

Exemple

Définition

9
II – Dépendance fonctionnelle
• Soient
– R1(A1, …, An) un schéma relationnel
– X et Y sont deux sous-ensembles de {A1, …, An}

• On dit que :
– Y dépend fonctionnellement de X ou bien X détermine Y, on note (
X → Y ), si quelle que soit l’instance de R, pour tout tuples T1, T2 de
R, on a :
T1[X]=T2[X]  T1[Y]=T2[Y]

avec Ti[X] la valeur de X pour le tuple Ti.

10
Exemple

11
Axiomes d’Armstrong
• Propriétés des dépendances fonctionnelles
1. Réflexivité Y ⊆ X => X → Y
2. Augmentation X → Y => X,Z → Y,Z
3. Transitivité X → Y et Y → Z => X → Z

• Conséquences
4. Union X → Y et X → Z => X → Y,Z
5. Pseudo-transitivité X → Y et W,Y → Z => W,X → Z
6. Décomposition X → Y et Z ⊆ Y => X → Z
12
Dépendance fonctionnelle
élémentaire
• Dépendance fonctionnelle élémentaire
X → A telle que
1) A est un attribut unique
2) A ∉ X
3) Il n'existe pas X' ⊆ X tel que X' → A

• Dans la recherche des DF, on peut se limiter sans


restriction aux DFs élémentaires

13
Exemple

14
Autres définitions

15
Autres définitions
• Fermeture d’un ensemble F de DFs :
– Ensemble F’ de DFs obtenu par applications successives des
axiomes d’inférence
• Fermeture transitive d’un ensemble F de DFs :
– Ensemble F+ de DFs élémentaires obtenues par application
des axiomes de transitivité et de pseudo-transitivite
• Couverture minimale d’un ensemble F de DFs :
– Plus petit ensemble de DFs permettant d’obtenir, par
applications successives des axiomes d’inférence, la
fermeture transitive de F

16
Exemple

17
Graphe de dépendance

• X→ Y X Y

X
Y
• X, Z → Y
Z

18
Exemple

19
Dépendance fonctionnelle et Clé

20
Exemple

21
Les Formes Normales

• 1ère Forme Normale (1FN)


• 2ème Forme Normale (2FN)
• 3ème Forme Normale (3FN)
• Etc, ….

22
Première forme normale (1FN)
• Une relation est en 1ère Forme Normale (1FN) si et
seulement si tous ses attributs sont atomiques (non
composés et mono-valués)

• Contre-exemples :
1. PERSONNE (NOM, PRENOMS)
Mise en 1FN : PERSONNE1 (NOM, PRENOM1,
PRENOM2)

2. PERSONNE (NOM, PRENOM, ADRESSE)


Mise en 1FN : PERSONNE2 (NOM, PRENOM, N°RUE,
RUE, CODEPOSTAL, VILLE)
23
Exemple

ETUDIANT est en 1FN

24
Deuxième forme normale (2FN)
• Une relation est en deuxième forme normale
(2FN) si :
1. elle est en 1 FN
2. tout attribut n'appartenant pas à la clé dépend
uniquement de la totalité de la clé

• Exemple :

25
Exemples de relations non 2FN

26
Exemple 2FN par décomposition

27
Troisième forme normale (3FN)
• Une relation est en troisième forme normale (3FN) si:
1. elle est en 2FN
2. tout attribut n'appartenant pas à une clé ne dépend pas
d'un attribut non clé (pas de dépendance fonctionnelle
entre attributs non clés)

• Exemple :

28
Exemple

29
Algorithme de mise sous 3 FN
• 0FN  1FN : mise sous forme atomique des attributs
• 1FN  2FN : pour chaque partie X de clé déterminant
des attributs non clés Y1, …, Yn
1. on crée une relation supplémentaire avec X pour clé et Y1, …, Yn
comme attributs non clés
2. on retire Y1, …, Yn de la relation initiale
• 2FN  3FN : pour chaque attribut non clé Y déterminant
des attributs non clés Z1, …, Zn
1. on crée une relation R' supplémentaire avec Y comme clé et Z1, …, Zn
comme attributs non clés
2. on retire Z1, …, Zn de la relation initiale

R' n'est pas nécessairement en 3 FN. Si c'est le cas, réitérer le processus


sur R'.

30
Propriétés
• Dans une décomposition d'une relation en plusieurs
autres, on dit que la décomposition préserve une
dépendance fonctionnelle s'il reste, après
décomposition, une relation contenant tous les
attributs de la DF
• Propriété :
Toute relation a au moins une décomposition en 3 FN qui :
– préserve une couverture minimale de DF
– est sans perte

31
Autre algorithme de normalisation

32
Etapes de l’Algorithme de Synthèse
1. Regroupement des dépendances de même partie
gauche
2. Construction d’une relation pour chaque
ensemble
– Chacune des relation a pour clé le groupe d’attributs en
partie gauche

33
Exemple

34
Application de l’étape 1 de l’algorithme

35
Application de l’étape 2 de l’algorithme

R1(A, B, C, #D)
R2 (D, E, F)
R3(#A, #G, H, I)
R4(G, J, K)

Clé primaire en gras souligné


Clé étrangère précédée de #

36
Comparaison des 2 algorithmes

37
CONCLUSION
• La normalisation permet de :
– Construire des tables sans redondance
– Vérifier la bonne conception des tables issues de la
modélisation conceptuelle
– Restructurer une base existante

38

Vous aimerez peut-être aussi