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

From: David Portas <REMOVE_BEFORE_REPLYING_dportas_at_acm.org>
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 Portas
Received on Sat Dec 15 2007 - 14:39:08 CET

Original text of this message