Différence entre normalisation et dénormalisation

Anonim

Normalisation vs dénormalisation

Les bases de données relationnelles sont constituées de relations (tables connexes). Si les tables sont deux grandes (c'est-à-dire trop de colonnes dans une table), alors les 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 plusieurs tables plus petites), elle serait inefficace pour l'interrogation. sont deux processus utilisés pour optimiser les performances de la base de données.La normalisation minimise les redondances présentes dans les tables 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 vise à minimiser les redondances présentes dans les bases de données relationnelles. Ce processus consiste principalement à diviser les grands tableaux en tableaux plus petits avec moins de redondances) Ces plus petits tableaux seront liés d entre eux à travers des relations bien définies. Dans une base de données bien normalisée, toute modification ou modification des données nécessitera la modification d'une seule table. Edgar F. Codd a présenté la première forme normale (1NF), la deuxième forme normale (2NF) et la troisième forme normale (3NF). La forme normale de Boyce-Codd (BCNF) a été introduite en 1974 par Codd et Raymond F. Boyce. Des formes normales plus élevées (4NF, 5NF et 6NF) ont été définies, mais elles sont rarement utilisées.

Une table conforme à 1NF assure qu'elle représente réellement une relation (c'est-à-dire qu'elle ne contient aucun enregistrement qui se répète), et ne contient aucun attribut qui soit évalué par rapport à la relation (c.-à-d. Tous les attributs devrait avoir des valeurs atomiques). Pour qu'un tableau soit conforme à 2NF, il devrait être conforme à 1NF et tout attribut qui ne fait partie d'aucune clé candidate (c'est-à-dire des attributs non primordiaux) devrait dépendre entièrement de n'importe laquelle des clés candidates de la table. Selon la définition de Codd, une table est dite dans 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. Bien que l'ajout de données redondantes semble contre-productif, la dénormalisation est parfois un processus très important pour surmonter certaines des faiblesses du logiciel de base de données relationnelles qui peuvent entraîner de lourdes pénalités de performance avec des bases de données normalisées.En effet, l'association de plusieurs relations (qui sont des résultats de 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 est le processus consistant à diviser les tables plus grandes en plus petites, ce qui réduit les données redondantes, tandis que la dénormalisation est le processus d'ajout de données redondantes pour optimiser les performances.

- La normalisation est effectuée pour éviter les anomalies de 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 ralentir. Par conséquent, une base de données dénormalisée peut offrir des performances d'écriture plus mauvaises qu'une base de données normalisée.

- Il est souvent recommandé de «normaliser jusqu'à ce qu'il fasse mal, dénormaliser jusqu'à ce qu'il fonctionne».