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

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


5NF (Fifth Normal Form) เรียกอีกอย่างว่า Project-Join Normal Form ความสัมพันธ์อยู่ใน 5NF ก็ต่อเมื่ออยู่ใน 4NF และ ไม่มี Lossless Decomposition เป็นตารางย่อยๆ

อีกมุมมอง: Relation อยู่ใน 5NF ก็ต่อเมื่อ Candidate Key บ่งชี้ Join Dependency ทุกอันในมัน

ตัวอย่าง

ความสัมพันธ์ข้างต้นละเมิด 5NF:

<Employee>

EmpName EmpSkills EmpJob (Assigned Work)
DavidJavaE145
JohnJavaScriptE146
JamiejQueryE146
EmmaJavaE147

ความสัมพันธ์ข้างต้นสามารถแยก (Decompose) เป็น 3 ตาราง ดังนั้นไม่อยู่ใน 5NF:

<EmployeeSkills>

EmpName EmpSkills
DavidJava
JohnJavaScript
JamiejQuery
EmmaJava

<EmployeeJob>

EmpName EmpJob
DavidE145
JohnE146
JamieE146
EmmaE147

<JobSkills>

EmpSkills EmpJob
JavaE145
JavaScriptE146
jQueryE146
JavaE147

Join Dependency ของเรา:

{(EmpName, EmpSkills), (EmpName, EmpJob), (EmpSkills, EmpJob)}

ความสัมพันธ์ข้างต้นมี Join Dependency ดังนั้นไม่อยู่ใน 5NF หมายความว่า Join ของ 3 ความสัมพันธ์ข้างต้นเท่ากับ Relation ต้นทาง <Employee>