Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

Third Normal Form (3NF) - รูปแบบปกติที่ 3


3NF คืออะไร?

ขั้นตอนที่ 3 ของการทำให้เป็นรูปแบบปกติ (Normalization) คือ 3NF

ตารางอยู่ใน 3NF ก็ต่อเมื่อ Relation อยู่ใน 2NF และ ไม่มี Transitive Functional Dependency

ตัวอย่าง (ตารางที่ละเมิด 3NF)

<MovieListing>

Movie_ID Listing_ID Listing_Type DVD_Price ($)
0089007Comedy100
0090003Action150
0091007Comedy100

ตารางข้างต้น ไม่อยู่ใน 3NF เพราะมี Transitive Functional Dependency:

Movie_ID → Listing_ID Listing_ID → Listing_Type

ดังนั้น Movie_ID → Listing_Type คือ Transitive Functional Dependency

ตัวอย่าง (ตารางที่แปลงเป็น 3NF แล้ว)

เพื่อให้อยู่ใน 3NF ต้องแยกตารางและลบ Transitive Functional Dependency

<Movie>

Movie_ID Listing_ID DVD_Price ($)
0089007100
0090003150
0091007100

<Listing>

Listing_ID Listing_Type
007Comedy
003Action
007Comedy

ผลลัพธ์ตารางที่อยู่ใน 3NF แล้ว:

Third Normal Form (3NF) - รูปแบบปกติที่ 3