Différence Entre Normalisation Et Dénormalisation

Différence Entre Normalisation Et Dénormalisation
Différence Entre Normalisation Et Dénormalisation

Vidéo: Différence Entre Normalisation Et Dénormalisation

Vidéo: Différence Entre Normalisation Et Dénormalisation
Vidéo: Modélisation des données - Normalisation et formes normales 2024, Novembre
Anonim

Normalisation vs dénormalisation

Les bases de données relationnelles sont constituées de relations (tables liées). Les tableaux sont constitués de colonnes. Si les tables sont deux grandes (c'est-à-dire trop de colonnes dans une table), des anomalies de base de données peuvent se produire. Si les tables sont deux petites (c'est-à-dire que la base de données est composée de nombreuses tables plus petites), il serait inefficace pour l'interrogation. La normalisation et la dénormalisation sont deux processus utilisés pour optimiser les performances de la base de données. La normalisation minimise les redondances présentes dans les tableaux de données. La dénormalisation (inverse de la normalisation) ajoute des données redondantes ou des données de groupe.

Qu'est-ce que la normalisation?

La normalisation est un processus qui est effectué pour minimiser les redondances présentes dans les données des bases de données relationnelles. Ce processus divisera principalement les grandes tables en tables plus petites avec moins de redondances (appelées «formes normales»). Ces tables plus petites seront liées les unes aux autres par des relations bien définies. Dans une base de données bien normalisée, toute altération ou modification des données ne nécessitera de modifier qu'une seule table. La première forme normale (1NF), la deuxième forme normale (2NF) et la troisième forme normale (3NF) ont été introduites par Edgar F. Codd. Boyce-Codd Normal Form (BCNF) a été introduit en 1974 par Codd et Raymond F. Boyce. Des formes normales supérieures (4NF, 5NF et 6NF) ont été définies, mais elles sont rarement utilisées.

Une table conforme à 1NF garantit qu'elle représente réellement une relation (c'est-à-dire qu'elle ne contient aucun enregistrement qui se répète), et qu'elle ne contient aucun attribut à valeur relationnelle (c'est-à-dire que tous les attributs doivent avoir des valeurs atomiques). Pour qu'une table soit conforme à 2NF, elle doit être conforme à 1NF et tout attribut qui ne fait partie d'aucune clé candidate (c'est-à-dire les attributs non principaux) doit entièrement dépendre de l'une des clés candidates de la table. Selon la définition du Codd, une table est dite en 3NF, si et seulement si, cette table est dans la deuxième forme normale (2NF) et chaque attribut de la table qui n'appartient pas à une clé candidate devrait dépendre directement de chaque clé candidate de cette table. BCNF (également connu sous le nom de 3.5NF) capture certaines des anomalies qui ne sont pas traitées par le 3NF.

Qu'est-ce que la dénormalisation?

La dénormalisation est le processus inverse du processus de normalisation. La dénormalisation fonctionne en ajoutant des données redondantes ou en regroupant des données pour optimiser les performances. Même si l'ajout de données redondantes semble contre-productif, la dénormalisation est parfois un processus très important pour surmonter certaines des lacunes du logiciel de base de données relationnelle qui peuvent entraîner de lourdes pénalités de performances avec des bases de données normalisées (même réglées pour des performances plus élevées). En effet, la jonction de plusieurs relations (qui sont les résultats de la normalisation) pour produire un résultat à une requête peut parfois être lente en fonction de l'implémentation physique réelle des systèmes de base de données.

Quelle est la différence entre la normalisation et la dénormalisation?

- La normalisation et la dénormalisation sont deux processus complètement opposés.

- La normalisation consiste à diviser des tables plus grandes en tables plus petites, ce qui réduit les données redondantes, tandis que la dénormalisation consiste à ajouter des données redondantes pour optimiser les performances.

- La normalisation est effectuée pour éviter les anomalies des bases de données.

- La dénormalisation est généralement effectuée pour améliorer les performances de lecture de la base de données, mais en raison des contraintes supplémentaires utilisées pour la dénormalisation, les écritures (c'est-à-dire les opérations d'insertion, de mise à jour et de suppression) peuvent devenir plus lentes. Par conséquent, une base de données dénormalisée peut offrir des performances d'écriture moins bonnes qu'une base de données normalisée.

- Il est souvent recommandé de «normaliser jusqu'à ce que ça fasse mal, dénormaliser jusqu'à ce que ça marche».

Recommandé: