Sixth normal form
   HOME

TheInfoList



OR:

Sixth normal form (6NF) is a term in relational database theory, used in two different ways.


6NF (C. Date's definition)

Christopher J. Date Chris Date (born 1941) is an independent author, lecturer, researcher, and consultant, specializing in relational database theory. Biography Chris Date attended High Wycombe Royal Grammar School (U.K.) from 1951 to 1958 and received his BA i ...
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 database A temporal database stores data relating to time instances. It offers temporal data types and stores information relating to past, present and future time. Temporal databases could be uni-temporal, bi-temporal or tri-temporal. More specifically th ...
s. Sixth normal form is then based on this generalized join, as follows:
A
relvar In relational databases, relvar is a term introduced by C. J. Date and Hugh Darwen as an abbreviation for relation variable in their 1995 paper ''The Third Manifesto'', to avoid the confusion sometimes arising from the use of the term relation, b ...
R ableis in sixth normal form (abbreviated 6NF) 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 (possibly U_projections) involved is taken over the set of all attributes of the relvar ableconcerned.
Date et al. have also given the following definition:
Relvar R is in sixth normal form (6NF) if and only if every JD oin Dependencyof 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 (e.g., for historical data) 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.


Domain-key normal form

Some authors have used the term sixth normal form differently: as a synonym for domain-key normal form (DKNF). This usage predates Date et al.'s work.


Usage

The sixth normal form is currently being used in some
data warehouse In computing, a data warehouse (DW or DWH), also known as an enterprise data warehouse (EDW), is a system used for reporting and data analysis and is considered a core component of business intelligence. DWs are central repositories of integra ...
s 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 (using a process called 'table elimination') 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 Fifth normal form (5NF), also known as projection–join normal form (PJ/NF), is a level of database normalization designed to remove redundancy in relational databases recording multi-valued facts by isolating semantically related multiple relatio ...
first and then it requires that each table satisfies only trivial join dependencies. Let’s take a simple exampleExample provided by: http://www.anattatechnologies.com/q/2011/07/normalization-6nf/ with a table already in 5NF: Here, in the users table, every attribute is non null and the primary key is the username: Users_table This table is in 5NF because each join dependency is implied by the unique candidate key of the table (Username). More specifically, the only possible join dependencies are: , . The 6NF version would look like this: Users Users_dept So, from one table in 5NF, 6NF produces two tables. Following is another example: TABLE 1 The join dependencies of the table are , and . Hence we could see that such table is 2NF (due to the appearance of transitive dependency). The following tables try to bring it to 6NF: TABLE 2.1 TABLE 2.2 TABLE 2.3


References


Bibliography

* * * * * *


Further reading

* {{Use dmy dates, date=December 2018 6NF nl:Zesde normaalvorm