Recommandé, 2024

Choix De L'Éditeur

Différence entre normalisation et dénormalisation

La normalisation et la dénormalisation sont les méthodes utilisées dans les bases de données. Les termes sont différenciables lorsque la normalisation est une technique permettant de minimiser les anomalies d'insertion, de suppression et de mise à jour en éliminant les données redondantes. D'autre part, la dénormalisation est le processus inverse de la normalisation dans lequel la redondance est ajoutée aux données afin d'améliorer les performances de l'application spécifique et l'intégrité des données.

La normalisation évite le gaspillage d'espace disque en minimisant ou en éliminant la redondance.

Tableau de comparaison

Base de comparaisonNormalisationDénormalisation
De baseLa normalisation est le processus de création d'un schéma d'ensemble pour stocker des données cohérentes et non redondantes.La dénormalisation est le processus consistant à combiner les données afin de pouvoir les interroger rapidement.
ObjectifRéduire la redondance et l'incohérence des données.Pour accélérer l'exécution des requêtes en introduisant la redondance.
Utilisé dansLe système OLTP, où l’accent est mis sur l’accélération de l’insertion, la suppression et la mise à jour des anomalies et le stockage des données de qualité.Système OLAP, où l’accent est mis sur l’accélération de la recherche et de l’analyse.
Intégrité des donnéesEntretenuPeut ne pas retenir
RedondanceÉliminéAjoutée
Nombre de tablesAugmenteDes diminutions
Espace disqueUtilisation optimiséeGaspillage

Définition de la normalisation

La normalisation est la méthode pour organiser efficacement les données dans la base de données. Cela implique la construction de tables et la mise en place de relations entre ces tables en fonction de certaines règles. La redondance et la dépendance incohérente peuvent être supprimées à l'aide de ces règles afin de le rendre plus flexible.

Les données redondantes gaspillent de l'espace disque, augmentent l'incohérence des données et ralentissent les requêtes DML. Si les mêmes données sont présentes dans plusieurs emplacements et qu'une mise à jour est validée pour ces données, la modification doit être reflétée dans tous les emplacements. Des données incohérentes peuvent rendre la recherche et l'accès aux données plus difficiles en perdant le chemin d'accès.

La normalisation a plusieurs raisons, par exemple pour éviter la redondance, la mise à jour des anomalies, le codage inutile, la conservation des données dans un format permettant une modification plus simple et plus précise et l’application de la contrainte de données.

La normalisation comprend l'analyse des dépendances fonctionnelles entre les attributs. Les relations (tables) sont décomposées avec des anomalies pour générer des relations avec une structure. Cela aide à décider quels attributs doivent être regroupés dans une relation.

La normalisation est fondamentalement basée sur les concepts de formes normales . Une table de relations est dite de forme normale si elle remplit un certain ensemble de contraintes. Il existe 6 formes normales définies: 1NF, 2NF, 3NF, BCNF, 4NF et 5NF. La normalisation devrait éliminer la redondance, mais pas au détriment de l'intégrité.

Définition de la dénormalisation

La dénormalisation est le processus inverse de la normalisation, dans lequel le schéma normalisé est converti en un schéma contenant des informations redondantes. Les performances sont améliorées en utilisant la redondance et en maintenant les données redondantes cohérentes. La dénormalisation s'explique par les frais généraux générés dans le processeur de requêtes par une structure sur-normalisée.

La dénormalisation peut également être définie comme la méthode de stockage de la jointure des relations de forme normale supérieure en tant que relation de base, qui est sous une forme normale inférieure. Cela réduit le nombre de tables et les jointures de table complexes, car un nombre plus élevé de jointures peut ralentir le processus. Il existe différentes techniques de dénormalisation telles que: stockage des valeurs dérivables, tables de pré-jointure, valeurs codées en dur et conservation des détails avec le maître, etc.

Ici, l’approche de dénormalisation met l’accent sur le concept selon lequel, en plaçant toutes les données en un seul endroit, il n’est plus nécessaire de rechercher ces multiples fichiers pour collecter ces données. La stratégie de base suivie dans la dénormalisation consiste à sélectionner le processus le plus décisif pour examiner les modifications qui amélioreront les performances. Et la modification la plus élémentaire consiste à ajouter plusieurs attributs à la table existante afin de réduire le nombre de jointures.

Principales différences entre normalisation et dénormalisation

  1. La normalisation est la technique consistant à diviser les données en plusieurs tables afin de réduire la redondance et l'incohérence des données et d'assurer leur intégrité. D'autre part, la dénormalisation est la technique qui consiste à combiner les données dans une seule table pour accélérer l'extraction des données.
  2. La normalisation est utilisée dans le système OLTP, qui met l'accent sur l'accélération de l'insertion, de la suppression et de la mise à jour des anomalies. Par contre, la dénormalisation est utilisée dans le système OLAP, qui met l'accent sur l'accélération de la recherche et de l'analyse.
  3. L'intégrité des données est maintenue dans le processus de normalisation tandis que dans la dénormalisation, l'intégrité des données est plus difficile à conserver.
  4. Les données redondantes sont éliminées lors de la normalisation tandis que la dénormalisation augmente les données redondantes.
  5. La normalisation augmente le nombre de tables et de jointures. En revanche, la dénormalisation réduit le nombre de tables et de jointures.
  6. La dénormalisation gaspille de l’espace disque car les mêmes données sont stockées à des emplacements différents. Au contraire, l’espace disque est optimisé dans une table normalisée.

Conclusion

La normalisation et la dénormalisation sont utiles en fonction de la situation. La normalisation est utilisée lorsque les anomalies d'insertion, de suppression et de mise à jour plus rapides et la cohérence des données sont nécessaires. D'autre part, la dénormalisation est utilisée lorsque la recherche rapide est plus importante et pour optimiser les performances de lecture. Cela réduit également les frais généraux générés par des données sur-normalisées ou des jointures de table complexes.

Top