Sixth normal form


Sixth normal form is a normal form used in relational database normalization which extends the relational algebra and generalizes relational operators to support interval data, which can be useful in temporal databases.
The term 6NF has historically also been used to refer to another normalization degree, which today is more commonly known as domain-key normal form .

Definition

and others have defined sixth normal form as a normal form, based on an extension of the relational algebra.
Relational operators, such as join, are generalized to support a natural treatment of interval data, such as sequences of dates or moments in time, for instance in temporal databases. Sixth normal form is then based on this generalized join, as follows:
A relvar R is in sixth normal form if and only if it satisfies no nontrivial join dependencies at all — where, as before, a join dependency is trivial if and only if at least one of the projections involved is taken over the set of all attributes of the relvar concerned.

Date et al. have also given the following definition:
Relvar R is in sixth normal form if and only if every JD of R is trivial — where a JD is trivial if and only if one of its components is equal to the pertinent heading in its entirety.

Any relation in 6NF is also in 5NF.
Sixth normal form is intended to decompose relation variables to irreducible components. Though this may be relatively unimportant for non-temporal relation variables, it can be important when dealing with temporal variables or other interval data. For instance, if a relation comprises a supplier's name, status, and city, we may also want to add temporal data, such as the time during which these values are, or were, valid but the three values may vary independently of each other and at different rates. We may, for instance, wish to trace the history of changes to Status; a review of production costs may reveal that a change was caused by a supplier changing city and hence what they charged for delivery.
For further discussion on Temporal Aggregation in SQL, see also Zimanyi. For a different approach, see TSQL2.

Usage

The sixth normal form is currently as of 2009 being used in some data warehouses where the benefits outweigh the drawbacks, for example using anchor modeling. Although using 6NF leads to an explosion of tables, modern databases can prune the tables from select queries where they are not required and thus speed up queries that only access several attributes.

Examples

In order for a table to be in sixth normal form, it has to be in fifth normal form first and then it requires that each table satisfies only trivial join dependencies.
Let's take a simple example with a table already in 5NF:
Here, in the users table, every attribute is non null and the primary key is the username:
This table is in 5NF because each join dependency is implied by the unique candidate key of the table. More specifically, the only possible join dependencies are:,.
The 6NF version would look like this:
So, from one table in 5NF, 6NF produces two tables.
Following is another example:
Medic IDMedic NameOccupationTypePractice in years
1Smith JamesOrthopedicSpecialist23
2Miller MichaelOrthopedicProbationer4
3Thomas LindaNeurologistProbationer5
4Scott NancyOrthopedicResident1
5Allen BrianNeurologistSpecialist12
6Turner StevenOphthalmologistProbationer3
7Collins KevinOphthalmologistSpecialist7
8King DonaldNeurologistResident1
9Harris SarahOphthalmologistResident2

The join dependencies of the table are, and. Hence we could see that such table is 2NF. The following tables try to bring it to 6NF:
Medic IDMedic Name
1Smith James
2Miller Michael
3Thomas Linda
4Scott Nancy
5Allen Brian
6Turner Steven
7Collins Kevin
8King Donald
9Harris Sarah

Medic IDOccupation
1Orthopedic
2Orthopedic
3Neurologist
4Orthopedic
5Neurologist
6Ophthalmologist
7Ophthalmologist
8Neurologist
9Ophthalmologist

Medic IDType
1Specialist
2Probationer
3Probationer
4Resident
5Specialist
6Probationer
7Specialist
8Resident
9Resident

Medic IDPractice in years
123
24
35
41
512
63
77
81
92

Other meanings

Sixth normal form is sometimes instead used as a synonym for domain-key normal form. This usage predates Date et al.'s work.