1NF contre 2NF contre 3NF
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. Ces petites tables 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 nécessitera la modification d'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, qui est également l'inventeur du modèle relationnel et du concept de normalisation.
Qu'est-ce que 1NF ?
1NF est la première forme normale, qui fournit l'ensemble minimum d'exigences pour normaliser une base de données relationnelle. 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), mais il n'existe pas de définition universellement acceptée pour 1NF. Une propriété importante est qu'une table conforme à 1NF ne peut contenir aucun attribut à valeur relationnelle (c'est-à-dire que tous les attributs doivent avoir des valeurs atomiques).
Qu'est-ce que 2NF ?
2NF est la deuxième forme normale utilisée dans les bases de données relationnelles. Pour qu'une table soit conforme à 2NF, elle doit être conforme à 1NF et tout attribut qui ne fait pas partie d'une clé candidate (c'est-à-dire les attributs non premiers) doit entièrement dépendre de l'une des clés candidates de la table.
Qu'est-ce que 3NF ?
3NF est la troisième forme normale utilisée dans la normalisation des bases de données relationnelles. Selon la définition de 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 sur chaque clé candidate de cette table. En 1982, Carlo Zaniolo a produit une définition exprimée différemment pour 3NF. Les tables conformes au 3NF ne contiennent généralement pas d'anomalies qui se produisent lors de l'insertion, de la suppression ou de la mise à jour d'enregistrements dans la table.
Quelle est la différence entre 1NF et 2NF et 3NF ?
1NF, 2NF et 3NF sont des formes normales utilisées dans les bases de données relationnelles pour minimiser les redondances dans les tables. 3NF est considéré comme une forme normale plus forte que le 2NF, et il est considéré comme une forme normale plus forte que 1NF. Donc en général, l'obtention d'un tableau conforme au formulaire 3NF nécessitera de décomposer un tableau qui est dans le 2NF. De même, l'obtention d'une table conforme au 2NF nécessitera de décomposer une table qui se trouve dans le 1NF. Cependant, si une table conforme à 1NF contient des clés candidates qui ne sont constituées que d'un seul attribut (c'est-à-dire des clés candidates non composites), une telle table serait automatiquement conforme à 2NF. La décomposition des tables entraînera des opérations de jointure supplémentaires (ou des produits cartésiens) lors de l'exécution des requêtes. Cela augmentera le temps de calcul. D'autre part, les tables qui respectent des formes normales plus fortes auraient moins de redondances que les tables qui ne respectent que des formes normales plus faibles.