Rumah > pangkalan data > tutorial mysql > Panduan Pemula untuk Normalisasi Pangkalan Data

Panduan Pemula untuk Normalisasi Pangkalan Data

WBOY
Lepaskan: 2024-08-31 06:30:36
asal
1162 orang telah melayarinya

A Beginner

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

Salin selepas log masuk

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
Salin selepas log masuk

Selepas 2NF:

Table: StudentCourses
----------------------------
StudentID | Course
----------------------------
1         | Math
Salin selepas log masuk
Table: CourseInstructors
----------------------------
Course    | Instructor
----------------------------
Math      | Dr. Smith
Salin selepas log masuk

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

Salin selepas log masuk

Selepas 3NF:

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

Salin selepas log masuk
Salin selepas log masuk
Table: CourseInstructors
----------------------------
Instructor | Dept
----------------------------
Dr. Smith  | Science

Salin selepas log masuk

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

Salin selepas log masuk

Selepas BCNF:

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

Salin selepas log masuk
Table: CourseDepartments
----------------------------
Course    | Dept
----------------------------
Math      | Science

Salin selepas log masuk

5. Bentuk Biasa Keempat (4NF)
Objektif: Menghapuskan kebergantungan berbilang nilai.

Contoh:

Sebelum 4NF:

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

Salin selepas log masuk

Selepas 4NF:

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

Salin selepas log masuk
Salin selepas log masuk
Table: StudentHobbies
----------------------------
StudentID | Hobby
----------------------------
1         | Chess

Salin selepas log masuk

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

Salin selepas log masuk

Selepas 5NF:

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

Salin selepas log masuk
Table: EmployeeRoles
----------------------------
EmployeeID | Role
----------------------------
1          | Developer

Salin selepas log masuk
Table: ProjectRoles
----------------------------
Project | Role
----------------------------
A       | Developer

Salin selepas log masuk

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!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan