Datenbanknormalisierung: ist der Prozess der Organisation von Daten in einer Datenbank, um Redundanz zu reduzieren und die Datenintegrität zu verbessern. Hier ist ein kurzer Überblick über die wichtigsten Normalformen mit Beispielen.
1. Erste Normalform (1NF)
Ziel: Stellen Sie sicher, dass jede Spalte atomare Werte enthält und dass jeder Datensatz eindeutig ist.
Beispiel:
Vor 1NF:
Table: StudentCourses ---------------------------- StudentID | Name | Courses ---------------------------- 1 | Alice | Math, Science
2. Zweite Normalform (2NF)
Ziel: Teilabhängigkeiten beseitigen; Jedes Nichtschlüsselattribut sollte vom gesamten Primärschlüssel abhängen.
Beispiel:
Vor 2NF:
Table: StudentCourses ---------------------------- StudentID | Course | Instructor ---------------------------- 1 | Math | Dr. Smith
Nach 2NF:
Table: StudentCourses ---------------------------- StudentID | Course ---------------------------- 1 | Math
Table: CourseInstructors ---------------------------- Course | Instructor ---------------------------- Math | Dr. Smith
3. Dritte Normalform (3NF)
Ziel: Transitive Abhängigkeiten entfernen; Nicht-Schlüsselattribute sollten nur vom Primärschlüssel abhängen.
Beispiel:
Vor 3NF:
Table: StudentCourses ----------------------------------- StudentID | Course | Instructor | Dept ----------------------------------- 1 | Math | Dr. Smith | Science
Nach 3NF:
Table: StudentCourses ---------------------------- StudentID | Course ---------------------------- 1 | Math
Table: CourseInstructors ---------------------------- Instructor | Dept ---------------------------- Dr. Smith | Science
4. Boyce-Codd-Normalform (BCNF)
Ziel: Eine strengere Version von 3NF zur Behandlung von Anomalien.
Beispiel:
Vor BCNF:
Table: TeacherCourses ------------------------------ TeacherID | Course | Dept ------------------------------ 1 | Math | Science
Nach BCNF:
Table: TeacherCourses ---------------------------- TeacherID | Course ---------------------------- 1 | Math
Table: CourseDepartments ---------------------------- Course | Dept ---------------------------- Math | Science
5. Vierte Normalform (4NF)
Ziel: Mehrwertige Abhängigkeiten beseitigen.
Beispiel:
Vor 4NF:
Table: StudentHobbies ---------------------------- StudentID | Course | Hobby ---------------------------- 1 | Math | Chess
Nach 4NF:
Table: StudentCourses ---------------------------- StudentID | Course ---------------------------- 1 | Math
Table: StudentHobbies ---------------------------- StudentID | Hobby ---------------------------- 1 | Chess
6. Fünfte Normalform (5NF)
Ziel: Komplexe Join-Abhängigkeiten verarbeiten; Zerlegen Sie Tabellen weiter, ohne Informationen zu verlieren.
Beispiel:
Vor 5NF:
Table: ProjectAssignments --------------------------------- EmployeeID | Project | Role --------------------------------- 1 | A | Developer
Nach 5NF:
Table: EmployeeProjects ---------------------------- EmployeeID | Project ---------------------------- 1 | A
Table: EmployeeRoles ---------------------------- EmployeeID | Role ---------------------------- 1 | Developer
Table: ProjectRoles ---------------------------- Project | Role ---------------------------- A | Developer
Fazit
Durch die Normalisierung wird sichergestellt, dass Ihre Datenbank effizient, konsistent und skalierbar bleibt, was die Verwaltung vereinfacht und die Abfrageleistung verbessert, wenn Ihre Daten wachsen.
Das obige ist der detaillierte Inhalt vonEin Leitfaden für Anfänger zur Datenbanknormalisierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!