UML 2 pour les bases de données
116
© Éditions Eyrolles
Troisième forme normale
Une relation est en troisième forme normale si elle respecte la deuxième forme normale et si
les dépendances fonctionnelles entre la clé primaire et les autres attributs sont directes.
Le seul inconvénient d’un schéma relationnel en troisième forme normale, c’est qu’il fait
intervenir un nombre plus important de relations du fait de la décomposition. Cette inflation
entraîne de nombreuses jointures coûteuses lors des interrogations de la base. En contrepartie,
il n’existe plus de redondances d’informations, sources d’erreurs lors de manipulations sous
SQL (ajout, modification ou suppression d’enregistrements).
Reprenons à présent l’exemple précédent de la relation R[c, d, a, b, e] avec la DF a Æ e.
Cette relation n’est pas en troisième forme normale, car il existe un graphe de transitivité avec
les DF suivantes : c,d Æ a ; c,d Æ e et a Æ e. La DF c,d Æ e n’est pas directe. Le
schéma en troisième forme normale est donc composé des deux relations R1[c, d, a#, b] et
R2[a, e].
Considérons à présent l’exemple des vols. Le schéma relationnel en troisième forme normale
fait apparaître six relations à partir d’une seule (Vols1). La relation Avions2 a été décomposée en Avions3 et Constructeurs3 de manière à éliminer la DF indirecte immat Æ
nomConst.
Les colonnes compagnie, sexe et typeAvion ont disparu de la relation Vols3 car les DF :
●
ncomp,nomPilote,immat Æ compagnie
●
ncomp,nomPilote,immat Æ sexe
●
ncomp,nomPilote,immat Æ typeAvion
n’étaient pas minimales en partie gauche. Pour la première DF, par exemple, il suffit de
connaître le numéro de compagnie pour avoir le nom de cette dernière. Cette DF se simplifie
ainsi en ncomp Æ compagnie (qui donne lieu à la définition de la relation Compagnie3).
Figure 2-11 Relation n’étant pas en deuxième forme normale
Avions2
immat
typeAvion
nomConst
F-CLAR
CRJ
Canadian Regional Jet
F-ROMA
A320
Airbus
F-GLDX
A320
Airbus
F-CSTU
B727
Boeing
F-STEF
A330
Airbus
F-PAUL
B747
Boeing
F-ABDL
A340
Airbus
116
© Éditions Eyrolles
Troisième forme normale
Une relation est en troisième forme normale si elle respecte la deuxième forme normale et si
les dépendances fonctionnelles entre la clé primaire et les autres attributs sont directes.
Le seul inconvénient d’un schéma relationnel en troisième forme normale, c’est qu’il fait
intervenir un nombre plus important de relations du fait de la décomposition. Cette inflation
entraîne de nombreuses jointures coûteuses lors des interrogations de la base. En contrepartie,
il n’existe plus de redondances d’informations, sources d’erreurs lors de manipulations sous
SQL (ajout, modification ou suppression d’enregistrements).
Reprenons à présent l’exemple précédent de la relation R[c, d, a, b, e] avec la DF a Æ e.
Cette relation n’est pas en troisième forme normale, car il existe un graphe de transitivité avec
les DF suivantes : c,d Æ a ; c,d Æ e et a Æ e. La DF c,d Æ e n’est pas directe. Le
schéma en troisième forme normale est donc composé des deux relations R1[c, d, a#, b] et
R2[a, e].
Considérons à présent l’exemple des vols. Le schéma relationnel en troisième forme normale
fait apparaître six relations à partir d’une seule (Vols1). La relation Avions2 a été décomposée en Avions3 et Constructeurs3 de manière à éliminer la DF indirecte immat Æ
nomConst.
Les colonnes compagnie, sexe et typeAvion ont disparu de la relation Vols3 car les DF :
●
ncomp,nomPilote,immat Æ compagnie
●
ncomp,nomPilote,immat Æ sexe
●
ncomp,nomPilote,immat Æ typeAvion
n’étaient pas minimales en partie gauche. Pour la première DF, par exemple, il suffit de
connaître le numéro de compagnie pour avoir le nom de cette dernière. Cette DF se simplifie
ainsi en ncomp Æ compagnie (qui donne lieu à la définition de la relation Compagnie3).
Figure 2-11 Relation n’étant pas en deuxième forme normale
Avions2
immat
typeAvion
nomConst
F-CLAR
CRJ
Canadian Regional Jet
F-ROMA
A320
Airbus
F-GLDX
A320
Airbus
F-CSTU
B727
Boeing
F-STEF
A330
Airbus
F-PAUL
B747
Boeing
F-ABDL
A340
Airbus
