Các dạng chuẩn hóa chính
Có 4 dạng chuẩn hóa chính để sử lý cơ sở dữ liệu:
1. Dạng chuẩn 1(1NF)
2. Dạng chuẩn 2(2NF)
3. Dạng chuẩn 3(3NF)
4. Dạng chuẩn Boyce-Codd(BCNF)
Dạng chuẩn 1(1NF)
Một quan hệ gọi là 1NF nếu:
-Miền giá trị của mỗi thuộc tính chỉ chứa giá trị đơn nguyên tử, không thể phân tách ra được.
-Giá trị của mỗi thuộc tính trong mỗi bộ phải là giá trị đơn.
Ví dụ:
Bảng ban đầu (Chưa chuẩn hóa)
StudentID |
StudentName |
CourseName |
InstructorName |
InstructorOffice |
1 |
Alice |
Math |
Dr. Smith |
Room 101 |
1 |
Alice |
Physics |
Dr. Johnson |
Room 102 |
2 |
Bob |
Math |
Dr. Smith |
Room 101 |
2 |
Bob |
Biology |
Dr. Clark |
Room 103 |
3 |
Charlie |
Physics |
Dr. Johnson |
Room 102 |
Dạng chuẩn thứ nhất (1NF)
Để đạt 1NF, bảng phải không có nhóm lặp và mỗi ô chỉ chứa một giá trị đơn:
StudentID |
StudentName |
CourseName |
InstructorName |
InstructorOffice |
1 |
Alice |
Math |
Dr. Smith |
Room 101 |
1 |
Alice |
Physics |
Dr. Johnson |
Room 102 |
2 |
Bob |
Math |
Dr. Smith |
Room 101 |
2 |
Bob |
Biology |
Dr. Clark |
Room 103 |
3 |
Charlie |
Physics |
Dr. Johnson |
Room 102 |
Dạng chuẩn thứ hai (2NF)
Để đạt 2NF, chúng ta phải loại bỏ các thuộc tính không khóa phụ thuộc vào mộtphần của khóa chính. Chúng ta tách bảng thành hai bảng:
-- Bảng Sinh viên - Khóa học (Student-Course)
StudentID |
StudentName |
CourseName |
1 |
Alice |
Math |
1 |
Alice |
Physics |
2 |
Bob |
Math |
2 |
Bob |
Biology |
3 |
Charlie |
Physics |
-- Bảng Khóa học - Giảng viên (Course-Instructor)
CourseName |
InstructorName |
InstructorOffice |
Math |
Dr. Smith |
Room 101 |
Physics |
Dr. Johnson |
Room 102 |
Biology |
Dr. Clark |
Room 103 |
Dạng chuẩn thứ ba (3NF)
Để đạt 3NF, chúng ta phải loại bỏ sự phụ thuộc bắc cầu. Tách bảng CourseInstructor thành hai bảng riêng biệt:
-- Bảng Sinh viên (Student)
StudentID |
StudentName |
1 |
Alice |
2 |
Bob |
3 |
Charlie |
-- Bảng Khóa học (Course)
CourseName |
InstructorName |
Math |
Dr. Smith |
Physics |
Dr. Johnson |
Biology |
Dr. Clark |
-- Bảng Giảng viên (Instructor)
InstructorName |
InstructorOffice |
Dr. Smith |
Room 101 |
Dr. Johnson |
Room 102 |
Dr. Clark |
Room 103 |
-- Bảng Sinh viên - Khóa học (Student-Course)
StudentID |
CourseName |
1 |
Math |
1 |
Physics |
2 |
Math |
2 |
Biology |
3 |
Physics |
Dạng chuẩn Boyce-Codd (BCNF)
Các bảng hiện tại đã đạt BCNF vì mọi phụ thuộc hàm đều dựa vào siêu khóa.