3NF คืออะไร
ขั้นตอนที่สามในการทำให้เป็นมาตรฐานคือ 3NF
ตารางอยู่ใน 3NF ต่อเมื่อความสัมพันธ์อยู่ใน 2NF และไม่มี Transitive Functional Dependency
เรามาดูตัวอย่างกัน −
ตัวอย่าง (ตารางละเมิด 3NF)
Movie_ID | Listing_ID | Listing_Type | DVD_Price ($) |
0089 | 007 | ตลก | 100 |
0090 | 003 | การกระทำ | 150 |
0091 | 007 | ตลก | 100 |
ตารางด้านบนไม่อยู่ใน 3NF เนื่องจากมีการพึ่งพาฟังก์ชันสกรรมกริยา -
Movie_ID -> Listing_ID Listing_ID -> Listing_Type |
ดังนั้น Movie_ID -> Listing_Type เช่น การพึ่งพาฟังก์ชันสกรรมกริยา
ตัวอย่าง (ตารางแปลงเป็น 3NF)
หากต้องการจัดรูปแบบใน 3NF คุณต้องแยกตารางและนำการพึ่งพาฟังก์ชันสกรรมกริยาออก
<ภาพยนตร์>
Movie_ID | Listing_ID | DVD_Price ($) |
0089 | 007 | 100 |
0090 | 003 | 150 |
0091 | 007 | 100 |
Listing_ID | Listing_Type |
007 | ตลก |
003 | การกระทำ |
007 | ตลก |
ให้เราดูผลลัพธ์อีกครั้งที่เป็นตารางใน 3NF ตอนนี้ -