Concepts : Normalisation
Rubriques
Ce document aborde brièvement la normalisation des données comme elle
s'applique au développement de
l'Artefact : Modèle de données. Il
n'offre pas un traitement complet de la normalisation, car le sujet est
suffisamment large et a été documenté dans de nombreux textes sur la conception
des bases 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". En
pratique, la normalisation est une procédure d'élimination de la redondance
dans le modèle de données par l'application de règles restrictives. L'élimination
de la redondance des données dans les tables du modèle de données permet
d'appliquer l'intégrité référentielle des données dans la base de données.
La normalisation est généralement exécutée sur le modèle de données une fois
une version initiale des tables et leurs relations développées dans le modèle.
Le rythme exact d'application de la normalisation dépend de la situation
spécifique du projet et de la décision du
concepteur de base de données. Le
processus de normalisation s'applique aux tables dans le modèle de données,
en séries d'étapes dans lesquelles chaque étape applique des règles qui sont
plus strictes que la dernière.
Niveaux de
normalisation
La normalisation est hiérarchiquement classifiée en formes numériques,
les plus courantes étant la première, la deuxième et la troisième
formes normales. Chaque niveau de normalisation est plus restrictif que le
précédent. Les tris premiers niveaux hiérarchiques de normalisation sont les
suivants :
- Première forme normale : la répétition de groupes de
colonnes de données dans les tables a été éliminée, de telle sorte que les
données soient organisées en unités atomisées.
- Deuxième forme normale : les données sont de la première
forme normale et la redondance des champs de clé primaire a été éliminée,
de façon à ce que les valeurs des colonnes soient totalement dépendantes du
champ de clé primaire.
- Troisième forme normale : les données sont de la deuxième forme
normale et chaque colonne n'est pas dépendante d'une autre colonne non clé.
D'autres niveaux de normalisation sont possibles, mais ne sont pas couverts
dans cette discussion. Des informations sur les autres niveaux de
normalisation figurent dans [DAT99]. Le
niveau exact de normalisation à appliquer au modèle de données est une décision
que le concepteur de base de données doit prendre en fonction des spécificités
de la situation du projet.
|