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) |
|---|---|---|
| David | Java | E145 |
| John | JavaScript | E146 |
| Jamie | jQuery | E146 |
| Emma | Java | E147 |
ความสัมพันธ์ข้างต้นสามารถแยก (Decompose) เป็น 3 ตาราง ดังนั้นไม่อยู่ใน 5NF:
<EmployeeSkills>
| EmpName | EmpSkills |
|---|---|
| David | Java |
| John | JavaScript |
| Jamie | jQuery |
| Emma | Java |
<EmployeeJob>
| EmpName | EmpJob |
|---|---|
| David | E145 |
| John | E146 |
| Jamie | E146 |
| Emma | E147 |
<JobSkills>
| EmpSkills | EmpJob |
|---|---|
| Java | E145 |
| JavaScript | E146 |
| jQuery | E146 |
| Java | E147 |
Join Dependency ของเรา:
| {(EmpName, EmpSkills), (EmpName, EmpJob), (EmpSkills, EmpJob)} |
|---|
ความสัมพันธ์ข้างต้นมี Join Dependency ดังนั้นไม่อยู่ใน 5NF หมายความว่า Join ของ 3 ความสัมพันธ์ข้างต้นเท่ากับ Relation ต้นทาง <Employee>