3NF là gì?
Bước thứ ba trong Chuẩn hóa là 3NF.
Một bảng ở 3NF, chỉ khi một quan hệ ở 2NF và nó không có Phụ thuộc hàm bắc cầu (Transitive Functional Dependency).
Ví dụ:
Ví dụ (Bảng vi phạm 3NF)
<MovieListing>
| Movie_ID | Listing_ID | Listing_Type | DVD_Price ($) |
| 0089 | 007 | Comedy | 100 |
| 0090 | 003 | Action | 150 |
| 0091 | 007 | Comedy | 100 |
Bảng trên không ở 3NF vì nó có phụ thuộc hàm bắc cầu:
| Movie_ID → Listing_ID Listing_ID → Listing_Type |
Do đó, Movie_ID → Listing_Type tức là phụ thuộc hàm bắc cầu.
Ví dụ (Bảng chuyển sang 3NF)
Để đưa nó về 3NF, bạn cần tách bảng và loại bỏ phụ thuộc hàm bắc cầu.
<Movie>
| Movie_ID | Listing_ID | DVD_Price ($) |
| 0089 | 007 | 100 |
| 0090 | 003 | 150 |
| 0091 | 007 | 100 |
<Listing>
| Listing_ID | Listing_Type |
| 007 | Comedy |
| 003 | Action |
| 007 | Comedy |
Hãy xem kết quả lại là bảng ở 3NF:
