2.4 Les dépendances entre données et les formes normales
2.4.1 La signification et le but des formes normales
Théorie des formes normales
La recherche dans le domaine relationnel a permis d'élaborer une véritable théorie des bases de données qui traite des aspects formels du modèle relationnel, en partie détachés du monde réel. Elle accorde une place importante à l'étude des formes normales (normal forms, en anglais). L'objectif consiste à détecter et à analyser les dépendances à l'intérieur des tables pour en éliminer les informations redondantes et les anomalies qui en résultent.
R È G L E 7
A# Désignation Matériau ARTICLE
Pièce GD
Sous-ensemble G Sous-ensemble D T7
T9 T11
Combi Bois Métal
A#_Composé A#_Composant NOMENCLATURE
T9 T11 T3 T4 T7
T7 T11 T11
ARTICLE
NOMENCLATURE
«Un article se compose de …»
«Un composant appartient à …»
mc c
Un exemple de nomenclature
T7
T9 T11
T3 T4
Redondance d'un attribut Quand un attribut
est-il redondant ?
Un attribut dans une table est redondant lorsque ses valeurs peuvent être éliminées de cette table sans perte d'informations.
À titre d'exemple, considérons une table, EMPLOYÉ DU DÉPARTEMENT, qui contient, pour chaque employé, le numéro d'employé, le nom, la rue, la ville, ainsi que le numéro et la description du département auquel il est affecté.
La description des départements est redondante
Dans la figure 2-16, le nom du département Finances apparaît pour chaque employé dans le département D6. Il en est de même pour les autres départements car, selon notre modèle de données, plusieurs employés peuvent travailler dans un même département. Puisque le nom d'un département apparaît plusieurs fois dans la table, l'attribut Description est donc redondant. Pour supprimer cette redondance, nous enregistrons une fois pour toutes la description de chaque département dans une table séparée au lieu de la répéter pour chaque employé.
Une table contenant des informations redondantes peut entraîner des anomalies de mutation. Admettons qu’un nouveau département de marketing D9 vient d’être créé. Nous constatons qu’il est impossible de le définir dans la table EMPLOYÉ DU DÉPARTEMENT à la figure 2-16. Il existe une anomalie d'insertion, car nous ne pouvons insérer aucune nouvelle ligne dans la table sans donner un numéro d'employé unique.
Nous parlons d'une anomalie de suppression lorsque nous perdons des informations involontairement. En supprimant tous les employés dans notre table EMPLOYÉ DU DÉPARTEMENT, nous
E# Nom Rue Ville D# Description
E19
avenue de la Gare rue Faucigny
perdons simultanément les numéros et les désignations des départements.
Problèmes de mise à jour des tables redondantes Enfin, il existe des anomalies de mise à jour. Si la description du
département D3 devient «Traitement de l'information» au lieu
«d'Informatique», nous devons appliquer ce changement de nom à l'ensemble des employés du département concerné. En d'autres termes, même si la modification ne porte que sur une seule pièce d'information, elle entraîne une mise à jour de la table EMPLOYÉ DU DÉPARTEMENT à plusieurs endroits différents. Cet inconvénient s'appelle anomalie de mise à jour.
Figure 2-17 Vue d’ensemble des formes normales et de leurs propriétés
Les dépendances engendrent des conflits
Les formes normales que nous abordons maintenant permettent d'éliminer les anomalies, et par là même les redondances qui en sont la cause. La figure 2-17 donne une vue d'ensemble des formes
Première forme normale (1FN)
Les valeurs d'attributs sont atomiques (pas de groupe répétitif) Tables non normalisées
Seconde forme normale (2FN)
Les attributs non clés dépendent de la totalité de la clé Troisième forme normale (3FN)
Forme normale Boyce-Codd (FNBC)
Seules les dépendances de la clé vers des attributs non clés sont admises Pas de dépendance transitive
Cinquième forme normale (5FN)
Dépendance de jointure triviale seulement
Quatrième forme normale (4FN)
Pas de dépendance multivaluée
normales et de leur signification. Nous y constatons notamment que chaque forme normale traite d’un cas particulier de dépendance et de la situation conflictuelle qu’elle engendre. Nous étudierons ces dépendances de manière approfondie dans les prochaines sections.
Comme le montre la figure 2-17, les formes normales limitent l’ensemble de tables admises en fournissant des règles de plus en plus strictes. Par exemple, une table ou un schéma de base de données en troisième forme normale doit satisfaire les critères des première et deuxième formes normales, et en plus, ne doit contenir aucune dépendance transitive d’une clé vers les attributs non clés.
L’intérêt pratique de la troisième forme normale
L'étude des formes normales nous montrera qu'elles ne revêtent pas toutes la même importance. Dans la pratique, on se limite généralement aux trois premières formes normales car les dépendances multivaluées et les dépendances de jointure se présentent moins fréquemment ; les exemples d’application sont rares. C’est pourquoi les quatrième et cinquième formes normales feront seulement l’objet d’une brève discussion.
La compréhension des formes normales permet de mieux saisir les règles de passage du modèle entité-association au schéma de base de données relationnelle, présentées dans les sections précédentes. En effet, comme nous le verrons plus tard, les critères des formes normales sont automatiquement satisfaits lorsqu'un modèle entité-association est bien construit et que les règles de passage sont correctement appliquées. En d'autres termes, nous pouvons nous dispenser de vérifier les formes normales à chaque étape de la conception si, partant d’un modèle entité-association bien conçu, nous appliquons les règles de passage 1 à 7 pour construire le schéma de base de données correspondant.