Maison >base de données >tutoriel mysql >Un guide du débutant sur la normalisation des bases de données
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
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
Après 2NF :
Table: StudentCourses ---------------------------- StudentID | Course ---------------------------- 1 | Math
Table: CourseInstructors ---------------------------- Course | Instructor ---------------------------- Math | Dr. Smith
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
Après 3NF :
Table: StudentCourses ---------------------------- StudentID | Course ---------------------------- 1 | Math
Table: CourseInstructors ---------------------------- Instructor | Dept ---------------------------- Dr. Smith | Science
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
Après BCNF :
Table: TeacherCourses ---------------------------- TeacherID | Course ---------------------------- 1 | Math
Table: CourseDepartments ---------------------------- Course | Dept ---------------------------- Math | Science
5. Quatrième Forme Normale (4NF)
Objectif : Éliminer les dépendances à valeurs multiples.
Exemple :
Avant 4NF :
Table: StudentHobbies ---------------------------- StudentID | Course | Hobby ---------------------------- 1 | Math | Chess
Après 4NF :
Table: StudentCourses ---------------------------- StudentID | Course ---------------------------- 1 | Math
Table: StudentHobbies ---------------------------- StudentID | Hobby ---------------------------- 1 | Chess
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
Après 5NF :
Table: EmployeeProjects ---------------------------- EmployeeID | Project ---------------------------- 1 | A
Table: EmployeeRoles ---------------------------- EmployeeID | Role ---------------------------- 1 | Developer
Table: ProjectRoles ---------------------------- Project | Role ---------------------------- A | Developer
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!