1. Dạng chuẩn thứ nhất (1NF – First Normal Form)
Yêu cầu:
- Mỗi ô chỉ chứa một giá trị duy nhất.
- Không có cột chứa danh sách hoặc tập giá trị.
Ví dụ:
Bảng chưa chuẩn hóa:
MaSV | HọTên | MônHọc |
---|---|---|
1 | Nguyễn Văn A | Toán, Lý |
2 | Trần Thị B | Hóa, Sinh |
Bảng sau khi chuẩn hóa (1NF):
MaSV | HọTên | MônHọc |
---|---|---|
1 | Nguyễn Văn A | Toán |
1 | Nguyễn Văn A | Lý |
2 | Trần Thị B | Hóa |
2 | Trần Thị B | Sinh |
2. Dạng chuẩn thứ hai (2NF – Second Normal Form)
Yêu cầu:
- Đạt chuẩn 1NF.
- Không có phụ thuộc hàm không đầy đủ (Partial Dependency).
Ví dụ:
Bảng chưa chuẩn hóa:
MaSV | MaMH | HọTên | TênMônHọc |
---|---|---|---|
1 | 101 | Nguyễn Văn A | Toán |
2 | 102 | Trần Thị B | Lý |
Ở đây:
HọTên
phụ thuộc vàoMaSV
.TênMônHọc
phụ thuộc vàoMaMH
.
Bảng sau khi chuẩn hóa (2NF):
Bảng SinhViên:
MaSV | HọTên |
---|---|
1 | Nguyễn Văn A |
2 | Trần Thị B |
Bảng MônHọc:
MaMH | TênMônHọc |
---|---|
101 | Toán |
102 | Lý |
Bảng ĐăngKýHọc:
MaSV | MaMH |
---|---|
1 | 101 |
2 | 102 |
3. Dạng chuẩn thứ ba (3NF – Third Normal Form)
Yêu cầu:
- Đạt chuẩn 2NF.
- Không có phụ thuộc bắc cầu (Transitive Dependency).
Ví dụ:
Bảng chưa chuẩn hóa:
MaNV | HọTên | MaPB | TênPhòngBan |
---|---|---|---|
1 | Lê Văn C | 10 | Kế Toán |
2 | Phạm Thị D | 20 | Nhân Sự |
Ở đây:
TênPhòngBan
phụ thuộc vàoMaPB
, nhưngMaPB
lại phụ thuộc vàoMaNV
.
Bảng sau khi chuẩn hóa (3NF):
Bảng NhânViên:
MaNV | HọTên | MaPB |
---|---|---|
1 | Lê Văn C | 10 |
2 | Phạm Thị D | 20 |
Bảng PhòngBan:
MaPB | TênPhòngBan |
---|---|
10 | Kế Toán |
20 | Nhân Sự |
4. Dạng chuẩn Boyce-Codd (BCNF – Boyce-Codd Normal Form)
Yêu cầu:
- Mỗi phụ thuộc hàm đều có khóa ứng viên làm vế trái.
Ví dụ:
Bảng chưa chuẩn hóa:
MaGV | MaLop | TênGV | TênLop |
---|---|---|---|
1 | 101 | Nguyễn Văn E | 12A1 |
2 | 102 | Trần Thị F | 12A2 |
- Nếu
TênLop
chỉ phụ thuộc vàoMaLop
, nhưngTênGV
phụ thuộc vàoMaGV
.
Bảng sau khi chuẩn hóa (BCNF):
Bảng GiáoViên:
MaGV | TênGV |
---|---|
1 | Nguyễn Văn E |
2 | Trần Thị F |
Bảng LớpHọc:
MaLop | TênLop | MaGV |
---|---|---|
101 | 12A1 | 1 |
102 | 12A2 | 2 |
Lợi ích chuẩn hóa:
- Giảm trùng lặp dữ liệu (ít lỗi khi cập nhật).
- Tăng tính toàn vẹn dữ liệu (tránh mâu thuẫn).
- Cải thiện hiệu năng khi truy vấn (dữ liệu tổ chức tốt hơn).