Maison > base de données > tutoriel mysql > Un guide du débutant sur la normalisation des bases de données

Un guide du débutant sur la normalisation des bases de données

WBOY
Libérer: 2024-08-31 06:30:36
original
1160 Les gens l'ont consulté

A Beginner

Normalisation de la base de données : est le processus d'organisation des données dans une base de données pour réduire la redondance et améliorer l'intégrité des données. Voici un aperçu rapide des principales formes normales, avec des exemples.

1. Première Forme Normale (1NF)
Objectif : Assurez-vous que chaque colonne contient des valeurs atomiques et que chaque enregistrement est unique.

Exemple :

Avant 1NF :

Table: StudentCourses
----------------------------
StudentID | Name   | Courses
----------------------------
1         | Alice  | Math, Science

Copier après la connexion

2. Deuxième Forme Normale (2NF)
Objectif : Éliminer les dépendances partielles ; chaque attribut non clé doit dépendre de la clé primaire entière.

Exemple :

Avant 2NF :

Table: StudentCourses
----------------------------
StudentID | Course | Instructor
----------------------------
1         | Math   | Dr. Smith
Copier après la connexion

Après 2NF :

Table: StudentCourses
----------------------------
StudentID | Course
----------------------------
1         | Math
Copier après la connexion
Table: CourseInstructors
----------------------------
Course    | Instructor
----------------------------
Math      | Dr. Smith
Copier après la connexion

3. Troisième Forme Normale (3NF)
Objectif : Supprimer les dépendances transitives ; les attributs non clés ne doivent dépendre que de la clé primaire.

Exemple :

Avant 3NF :

Table: StudentCourses
-----------------------------------
StudentID | Course | Instructor | Dept
-----------------------------------
1         | Math   | Dr. Smith  | Science

Copier après la connexion

Après 3NF :

Table: StudentCourses
----------------------------
StudentID | Course
----------------------------
1         | Math

Copier après la connexion
Copier après la connexion
Table: CourseInstructors
----------------------------
Instructor | Dept
----------------------------
Dr. Smith  | Science

Copier après la connexion

4. Forme normale de Boyce-Codd (BCNF)
Objectif : Une version plus stricte de 3NF pour gérer les anomalies.

Exemple :

Avant BCNF :

Table: TeacherCourses
------------------------------
TeacherID | Course    | Dept
------------------------------
1         | Math      | Science

Copier après la connexion

Après BCNF :

Table: TeacherCourses
----------------------------
TeacherID | Course
----------------------------
1         | Math

Copier après la connexion
Table: CourseDepartments
----------------------------
Course    | Dept
----------------------------
Math      | Science

Copier après la connexion

5. Quatrième Forme Normale (4NF)
Objectif : Éliminer les dépendances à valeurs multiples.

Exemple :

Avant 4NF :

Table: StudentHobbies
----------------------------
StudentID | Course | Hobby
----------------------------
1         | Math   | Chess

Copier après la connexion

Après 4NF :

Table: StudentCourses
----------------------------
StudentID | Course
----------------------------
1         | Math

Copier après la connexion
Copier après la connexion
Table: StudentHobbies
----------------------------
StudentID | Hobby
----------------------------
1         | Chess

Copier après la connexion

6. Cinquième Forme Normale (5NF)
Objectif : Gérer les dépendances de jointure complexes ; décomposer davantage les tableaux sans perdre d'informations.

Exemple :

Avant 5NF :

Table: ProjectAssignments
---------------------------------
EmployeeID | Project | Role
---------------------------------
1          | A       | Developer

Copier après la connexion

Après 5NF :

Table: EmployeeProjects
----------------------------
EmployeeID | Project
----------------------------
1          | A

Copier après la connexion
Table: EmployeeRoles
----------------------------
EmployeeID | Role
----------------------------
1          | Developer

Copier après la connexion
Table: ProjectRoles
----------------------------
Project | Role
----------------------------
A       | Developer

Copier après la connexion

Conclusion
La normalisation garantit que votre base de données reste efficace, cohérente et évolutive, ce qui simplifie la gestion et améliore les performances des requêtes à mesure que vos données se développent.

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!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal