4NF คืออะไร?
4NF มาหลัง 1NF, 2NF, 3NF และ Boyce-Codd Normal Form (BCNF) ถูกนำเสนอโดย Ronald Fagin ในปี 1977
เพื่อให้อยู่ใน 4NF ความสัมพันธ์ (Relation) ต้องอยู่ใน BCNF และ ไม่ควรมี multi-valued attribute มากกว่าหนึ่งอัน
ตัวอย่าง
มาดูตัวอย่าง:
<Movie>
| Movie_Name | Shooting_Location | Listing |
|---|---|---|
| MovieOne | UK | Comedy |
| MovieOne | UK | Thriller |
| MovieTwo | Australia | Action |
| MovieTwo | Australia | Crime |
| MovieThree | India | Drama |
ตารางข้างต้น ไม่อยู่ใน 4NF เพราะ:
- หนังหลายเรื่องอาจมี Listing เดียวกันได้
- สถานที่ถ่ายทำหลายแห่งอาจมีหนังเรื่องเดียวกันได้
แปลงให้อยู่ใน 4NF โดยแยกตาราง:
<Movie_Shooting>
| Movie_Name | Shooting_Location |
|---|---|
| MovieOne | UK |
| MovieOne | UK |
| MovieTwo | Australia |
| MovieTwo | Australia |
| MovieThree | India |
<Movie_Listing>
| Movie_Name | Listing |
|---|---|
| MovieOne | Comedy |
| MovieOne | Thriller |
| MovieTwo | Action |
| MovieTwo | Crime |
| MovieThree | Drama |
ตอนนี้การละเมิดถูกแก้ไขแล้ว และตารางทั้งสองอยู่ใน 4NF แล้ว