Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Fifth Normal Form (5NF)
The 5NF (Fifth Normal Form) is also known as project-join normal form. A relation is in Fifth Normal Form (5NF), if it is in 4NF, and won’t have lossless decomposition into smaller tables.
You can also consider that a relation is in 5NF, if the candidate key implies every join dependency in it.
Example
The below relation violates the Fifth Normal Form (5NF) of Normalization −
<Employee>
|
EmpName |
EmpSkills |
EmpJob (Assigned Work) |
| David |
Java |
E145 |
| John |
JavaScript |
E146 |
| Jamie |
jQuery |
E146 |
| Emma |
Java |
E147 |
The above relation can be decomposed into the following three tables; therefore, it is not in 5NF −
<EmployeeSkills>
|
EmpName |
EmpSkills |
| David |
Java |
| John |
JavaScript |
| Jamie |
jQuery |
| Emma |
Java |
The following is the <EmployeeJob> relation that displays the jobs assigned to each employee −
<EmployeeJob>
|
EmpName |
EmpJob |
| David |
E145 |
| John |
E146 |
| Jamie |
E146 |
| Emma |
E147 |
Here is the skills that are related to the assigned jobs −
<JobSkills>
|
EmpSkills |
EmpJob |
| Java |
E145 |
| JavaScript |
E146 |
| jQuery |
E146 |
| Java |
E147 |
Our Join Dependency −
| {(EmpName, EmpSkills ), (EmpName, EmpJob), (EmpSkills, EmpJob)} |
The above relations have join dependency, so they are not in 5NF. That would mean that a join relation of the above three relations is equal to our original relation <Employee>.