Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
Sixth Normal Form (6NF)
In Sixth Normal Form (6NF), a relation variable is decomposed into its irreducible components − each table contains at most the primary key and one non-key attribute. A relation is in 6NF only if it is already in 5NF and every join dependency on the relation is trivial.
6NF represents the highest level of normalization, where we eliminate all possible redundancy by separating each non-key attribute into its own table. This extreme decomposition ensures that no information loss occurs during normalization while maintaining data integrity through join operations.
Understanding 6NF Decomposition
Example 1: Student Table
Consider the following Student table ?
| Enrollment_No | Name | Marks |
|---|---|---|
| E001 | John Doe | 85 |
| E002 | Jane Smith | 92 |
The possible join dependencies are −
{Enrollment_No, Name}
{Enrollment_No, Marks}
In 6NF, this is decomposed into two irreducible tables −
| StudentInformation | |
|---|---|
| Enrollment_No | Name |
| E001 | John Doe |
| E002 | Jane Smith |
| ResultInformation | |
|---|---|
| Enrollment_No | Marks |
| E001 | 85 |
| E002 | 92 |
Example 2: StudentMarks Table
Consider a more detailed table ?
| Student_ID | Student_FirstName | Student_LastName | Marks |
|---|---|---|---|
| S01 | Tom | Alter | 90 |
| S02 | Jacob | Watson | 80 |
| S03 | Harry | Smith | 85 |
In 6NF, this decomposes into three irreducible tables − each containing the primary key and exactly one non-key attribute ?
| StudentFirstName | |
|---|---|
| Student_ID | Student_FirstName |
| S01 | Tom |
| S02 | Jacob |
| S03 | Harry |
| StudentLastName | |
|---|---|
| Student_ID | Student_LastName |
| S01 | Alter |
| S02 | Watson |
| S03 | Smith |
| StudentResult | |
|---|---|
| Student_ID | Marks |
| S01 | 90 |
| S02 | 80 |
| S03 | 85 |
Now the above tables are in 6NF. However, as you can guess, this level of decomposition is not practical for real-world applications since it creates too many tables and requires many joins to reconstruct the original data.
Conclusion
6NF decomposes each relation into irreducible components where every table has at most one non-key attribute. While it achieves the highest level of normalization, it is rarely used in practice due to the excessive number of tables and join operations required. 6NF is mainly relevant in temporal databases and data warehousing scenarios where extreme normalization benefits outweigh performance concerns.
