# Re: Newbie question about db normalization theory: redundant keys OK?

Date: Sat, 15 Dec 2007 13:39:08 -0000

Message-ID: <5vKdnYW48M1gRf7aRVnyhQA_at_giganews.com>

"David Cressey" <cressey73_at_verizon.net> wrote in message
news:0NO8j.259$1R1.92_at_trndny02...

*>
*

>> though. Example:

*>>
**>> R{a*,b,c}
**>>
**>> where a* is the only candidate key.
**>>
**>> Given the dependencies {a}->{b} and {a}->{c} relation R IS in DKNF but
**>> NOT in 6NF. Does this mean 6NF is "more restrictive"? It is true to
**>> say that 6NF is not a proper subset of DKNF because there are some 6NF
**>> schemas that are not in DKNF.
**>>
**>
**> As I already said, 6NF baffles me. Why is the relation above not in 6NF?
**>
*

From The Relational Database Dictionary

"Relvar R is in sixth normal form, 6NF, if and only if it can't be nonloss
decomposed at all (other than into the identity projection of R). Observe,
therefore, that 6NF is the ultimate normal form with respect to
normalization as conventionally understood; in particular, every 6NF relvar
is in 5NF."

Put another way, a 6NF relvar consists of a candidate key plus no more than one other attribute (which may or may not also be a candidate key).

R{a*,b,c}

decomposes to:

R1{a*,b}

R2{a*,c}

This kind of decomposition has advantages for temporal data models. By adding a valid time attribute to each relvar it's possible to represent the value of every other attribute at any point in time.

-- David PortasReceived on Sat Dec 15 2007 - 14:39:08 CET