Ce document est une discussion rapide sur la normalisation de données appliquée au développement du Produit : Modèle de données. Il ne traite pas de la
normalisation dans son ensemble car c'est un sujet très vaste qui est documenté dans beaucoup de textes sur la
conception d'une base de données. Dans [NBG01], la
normalisation est définie comme "une technique analytique utilisée pour produire une conception de base de données
relationnelle correcte". Dans la pratique, la normalisation est une procédure visant à éliminer les redondances dans le
modèle de données en appliquant des règles restrictives. La suppression des redondances dans les tables du modèle de
données permet de préserver l'intégrité référentielle des données dans la base de données.
La normalisation s'effectue généralement sur le modèle de données après avoir développé dans le modèle une version
initiale des tables et de leurs relations. Le moment exact pour appliquer cette normalisation dépend de la
situation propre au projet et du Concepteur de base de données. Le processus s'effectue par étape
dans les tables du modèle de données où, à chaque étape, on applique des règles plus strictes qu'à l'étape
précédente.
Niveaux de normalisation
La normalisation est classifiée de façon hiérarchique sous des formes numérotées, les formes les plus courantes étant
la première, la deuxième et la troisième forme. Chaque niveau de normalisation est plus restrictif que le niveau
précédent. Les trois premiers niveaux hiérarchiques sont les suivants :
-
Première forme normale - Les groupes de colonnes qui se répètent dans les tables ont été supprimées de façon
à ce que les données soient organisées en unités atomiques.
-
Deuxième forme normale - Les données sont sous la première forme normale et la redondance des zones de clé
primaire a été éliminée de telle sorte que les valeurs des colonnes dépendent entièrement de la zone de clé
primaire.
-
Troisième forme normale - Les données sont sous la deuxième forme normale et les colonnes ne dépendent
d'aucune colonne autre qu'une colonne de clé.
D'autres niveaux de normalisation existent mais ils ne font pas l'objet de cette discussion. Vous pouvez trouver
des informations sur ces niveaux dans [DAT99]. C'est le concepteur de base de données qui décide quel est le niveau
exact de normalisation à appliquer au modèle de données selon la situation propre du projet.
|