Maison > Article > base de données > Normalisation de la base de données
normalisation des bases de données organise les données de manière structurée et cohérente, éliminant la redondance et garantissant l'intégrité des données au sein des bases de données relationnelles. Il facilite la gestion, l'interrogation et la maintenance des bases de données, réduisant ainsi les erreurs.
En suivant les règles de normalisation, vous pouvez concevoir des bases de données plus faciles à maintenir et moins sujettes aux erreurs.
Avant de nous plonger dans la normalisation, nous voulions connaître les bases de la base de données relationnelle.
Clé primaire - Un identifiant unique pour chaque ligne d'un tableau. Garantit que chaque enregistrement peut être identifié de manière unique.
Clé étrangère - Un champ dans une table qui renvoie à la clé primaire d'une autre table, créant une relation entre les deux tables
Nous avons mentionné que la normalisation vise à éliminer la redondance et les dépendances incohérentes. Qu'est-ce que c'est ?
Données redondantes signifie stocker les mêmes données à plusieurs endroits, ce qui gaspille de l'espace disque et crée des problèmes de maintenance. Si des changements surviennent dans les données, nous devons les mettre à jour partout.
UneDépendance incohérente se produit lorsque les données d'une base de données s'appuient sur d'autres données d'une manière imprévisible ou incorrecte. Cela peut provoquer des erreurs et rendre la base de données peu fiable.
Considérez les formulaires normaux comme des points de contrôle/règles dans un processus, de la même manière qu'un examen de conduite comporte des étapes telles que les apprenants, le stationnement et l'examen routier.
Pour normaliser ces données, nous créons des tableaux séparés pour les étudiants et leurs cours :
Le 1NF élimine uniquement les groupes répétitifs, pas la redondance. C'est pourquoi il existe 2NF.
Une table est dite en 2NF si elle répond aux critères suivants :
c'est déjà en 1NF
Aucune dépendance partielle. Autrement dit, tous les attributs non clés dépendent entièrement d'une clé primaire.
Supprime les dépendances transitives en garantissant que les attributs non clés dépendent uniquement de la clé primaire.
Nous devons maintenant comprendre la dépendance transitive, qui est la clé pour comprendre la 3NF.
La dépendance transitive se produit lorsqu'un attribut (colonne) dépend d'un autre attribut non clé plutôt que de dépendre directement de la clé primaire.
3NF nécessite
Voici la structure finale en 3NF :
Aucune dépendance partielle (car tous les attributs dépendent entièrement de la clé primaire entière dans leurs tables respectives).
Aucune dépendance transitive (car aucun attribut non clé ne dépend d'autres attributs non clés).
3NF : garantit l'absence de dépendances transitives.
EKNF : affine davantage 3NF en garantissant que toutes les dépendances fonctionnelles sont élémentaires, abordant ainsi les dépendances plus complexes que 3NF pourrait ne pas gérer.
Une table est en BCNF si :
Superkey : un ensemble d'une ou plusieurs colonnes qui peuvent identifier de manière unique une ligne dans un tableau.
Dépendance fonctionnelle : une relation dans laquelle un attribut détermine de manière unique un autre attribut.
Prochain niveau de forme normale après BCNF.
D'autres formes normales concernent les dépendances fonctionnelles, 4NF concerne un type de dépendance plus général connu sous le nom de dépendance à valeurs multiples.
Dépendance à valeurs multiples - Se produit lorsqu'un attribut détermine plusieurs valeurs d'un autre attribut indépendamment des autres attributs.
Il est également connu sous le nom de Project-Join Normal Form (PJNF), c'est le plus haut niveau de normalisation. Une table est en 5NF si elle est déjà en 4NF et ne peut pas être décomposée en tables plus petites sans perdre l'intégrité des données. Cela signifie que chaque dépendance de jointure non triviale dans la table est impliquée par les clés candidates.
Si nous décomposons ce tableau en tableaux plus petits pour éliminer la redondance, nous devons nous assurer que nous pouvons toujours reconstruire le tableau d'origine sans perdre aucune information. Dans 5NF, cette décomposition est effectuée de telle manière qu'aucune information n'est perdue et que toutes les dépendances de jointure sont préservées. expliquer avec des exemples
Les tables peuvent être dénormalisées pour améliorer les performances.
La normalisation augmente le nombre de tables et de relations.
L'accès à plusieurs tables à travers des relations nécessite plus de traitement que l'accès à une seule table.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!