Nous allons aborder dans ce document les principes de normalisation des données (Normalisation du mcd)
. Nous parlerons de modèles de données conforment à la 1ère, 2ème ou 3ème forme normale.
Dans une base de données relationnelle, une forme normale désigne un type de relation particulier entre les entités. Comme son nom l’indique, normale décrit la norme.
La normalisation des modèles de données permettra donc de s’assurer de la robustesse de la conception de la base pour améliorer la modélisation (et donc obtenir une meilleure représentation) et optimiser la mémorisation des données en évitant la redondance et les problèmes sous-jacents de mise à jour ou de cohérence.
La normalisation s’applique à toutes les entités et aux relations porteuses de propriétés.
On dira d’un modèle qu’il est en première, deuxième ou troisième forme normale. Il s’agit là des règles de normalisation les plus importantes, d’autres règles pouvant être appliquées mais de manière non systématique.
La forme normale vient après la simple validité d’un modèle relationnel, c’est-à-dire que les valeurs des différents attributs soient bien en dépendance fonctionnelle avec la clé primaire (complètement déterminés par la clé primaire).
En pratique, la première et la deuxième forme normale sont nécessaires pour avoir un modèle relationnel juste. Les formes normales supplémentaires ont leurs avantages et leurs inconvénients.
Les avantages sont :
- de limiter les redondances de données
- de limiter les incohérences de données qui pourraient les rendre inutilisables
- d’éviter les processus de mise à jour récurrents
Les inconvénients sont :
- des temps d’accès qui peuvent être plus longs si les requêtes sont trop complexes
- un manque de flexibilité au niveau de l’utilisation de l’espace de stockage
La troisième forme normale reste généralement une des meilleures solutions d’un point de vue architecture de base de données, mais pour des bases de données plus importantes, cela n’est pas toujours le cas. Il s’agit de choisir l’équilibre entre deux options :
- la génération dynamique des données via les jointures entre tables
- l’utilisation statiques de données correctement mises à jour
La normalisation des modèles de données a été popularisée principalement par la méthode Merise. La principale limite de la normalisation est que les données doivent se trouver dans une même base de données (dans un seul schéma).
Il convient d’être prudent lorsqu’on renonce à la forme normale. Il n’est pas garanti qu’une forme dénormalisée améliore les temps d’accès. En effet, la redondance peut entrainer une explosion des volumes de données qui peuvent écrouler les performances ou saturer les disques durs
1-Normalisation du mcd : première forme normale (Notée 1FN ) :
Respecte la première forme normale, la relation dont tous les attributs :
- contiennent une valeur atomique (les valeurs ne peuvent pas être divisées en plusieurs sous-valeurs dépendant également individuellement de la clé primaire). Ainsi, le nom et le prénom d’une personne doivent être dans des propriétés distinctes.
- contiennent des valeurs non répétitives (le cas contraire consiste à mettre une liste dans un seul attribut). On pourrait citer pour exemple une catégorie d’articles qui doit être définie dans une entité spécifique et non répétée dans l’entité article
- sont constants dans le temps (utiliser par exemple la date de naissance plutôt que l’âge).
Le non respect de deux premières conditions de la 1FN rend la recherche parmi les données plus lente parce qu’il faut analyser le contenu des champs. La troisième condition quant à elle évite qu’on doive régulièrement mettre à jour les données.
2- Normalisation du mcd : deuxième forme normale (Notée 2FN)
Respecte la seconde forme normale, la relation respectant la première forme normale et dont :
- tous les attributs non-clés ne dépendent pas d’une partie de la clé primaire mais bien de la totalité de la clé primaire.
Le non-respect de la 2FN entraine une redondance des données qui encombrent alors inutilement la mémoire et l’espace disque.
3- Normalisation du mcd: troisième forme normale (Notée 3FN)
Respecte la troisième forme normale, la relation respectant la seconde forme normale et dont :
- tous les attributs n’appartenant pas à la clé ne dépendent pas d’un attribut non-clé. En d’autre terme, la dépendance fonctionnelle est directe.
Normalisation : vidéo résumée
Vous pouvez suivre la liste des vidéos du cours base de données (Merise + Sql + Transact sql) sur notre chaine youtube : Vidéos Bases de données.