Penormalan pangkalan data: ialah proses menyusun data dalam pangkalan data untuk mengurangkan lebihan dan meningkatkan integriti data. Berikut ialah ikhtisar ringkas bentuk biasa utama, dengan contoh.
1. Bentuk Biasa Pertama (1NF)
Objektif: Memastikan setiap lajur mengandungi nilai atom dan setiap rekod adalah unik.
Contoh:
Sebelum 1NF:
Table: StudentCourses ---------------------------- StudentID | Name | Courses ---------------------------- 1 | Alice | Math, Science
2. Bentuk Biasa Kedua (2NF)
Objektif: Menghapuskan kebergantungan separa; setiap atribut bukan kunci harus bergantung pada keseluruhan kunci utama.
Contoh:
Sebelum 2NF:
Table: StudentCourses ---------------------------- StudentID | Course | Instructor ---------------------------- 1 | Math | Dr. Smith
Selepas 2NF:
Table: StudentCourses ---------------------------- StudentID | Course ---------------------------- 1 | Math
Table: CourseInstructors ---------------------------- Course | Instructor ---------------------------- Math | Dr. Smith
3. Bentuk Biasa Ketiga (3NF)
Objektif: Alih keluar kebergantungan transitif; atribut bukan kunci hendaklah hanya bergantung pada kunci utama.
Contoh:
Sebelum 3NF:
Table: StudentCourses ----------------------------------- StudentID | Course | Instructor | Dept ----------------------------------- 1 | Math | Dr. Smith | Science
Selepas 3NF:
Table: StudentCourses ---------------------------- StudentID | Course ---------------------------- 1 | Math
Table: CourseInstructors ---------------------------- Instructor | Dept ---------------------------- Dr. Smith | Science
4. Boyce-Codd Normal Form (BCNF)
Objektif: Versi 3NF yang lebih ketat untuk mengendalikan anomali.
Contoh:
Sebelum BCNF:
Table: TeacherCourses ------------------------------ TeacherID | Course | Dept ------------------------------ 1 | Math | Science
Selepas BCNF:
Table: TeacherCourses ---------------------------- TeacherID | Course ---------------------------- 1 | Math
Table: CourseDepartments ---------------------------- Course | Dept ---------------------------- Math | Science
5. Bentuk Biasa Keempat (4NF)
Objektif: Menghapuskan kebergantungan berbilang nilai.
Contoh:
Sebelum 4NF:
Table: StudentHobbies ---------------------------- StudentID | Course | Hobby ---------------------------- 1 | Math | Chess
Selepas 4NF:
Table: StudentCourses ---------------------------- StudentID | Course ---------------------------- 1 | Math
Table: StudentHobbies ---------------------------- StudentID | Hobby ---------------------------- 1 | Chess
6. Bentuk Biasa Kelima (5NF)
Objektif: Mengendalikan kebergantungan gabungan kompleks; menguraikan jadual selanjutnya tanpa kehilangan maklumat.
Contoh:
Sebelum 5NF:
Table: ProjectAssignments --------------------------------- EmployeeID | Project | Role --------------------------------- 1 | A | Developer
Selepas 5NF:
Table: EmployeeProjects ---------------------------- EmployeeID | Project ---------------------------- 1 | A
Table: EmployeeRoles ---------------------------- EmployeeID | Role ---------------------------- 1 | Developer
Table: ProjectRoles ---------------------------- Project | Role ---------------------------- A | Developer
Kesimpulan
normalisasi memastikan bahawa pangkalan data anda kekal cekap, konsisten dan berskala, yang memudahkan pengurusan dan meningkatkan prestasi pertanyaan apabila data anda berkembang.
Atas ialah kandungan terperinci Panduan Pemula untuk Normalisasi Pangkalan Data. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!