Re: Normalization by Composing, not just Decomposing

From: Jan Hidders <>
Date: Tue, 13 Apr 2004 19:54:04 GMT
Message-ID: <wzXec.70525$>

mAsterdam wrote:
> Jan Hidders wrote:

>> mAsterdam wrote:

> [Date's 6NF]
>>  It's not uncontroversial, by the way.

> Could you share some of the controversy?

Well, to start with, most experts on temporal databases that I know don't agree with Date's PACK/UNPACK approach and consider these algebra operators fundamentally flawed. This is because they don't correspond to easily implementable operators like the classical algebra operations. As it happens I don't agree completely with that criticism, but that is another matter.

Keep in mind that just because Date writes something in his "Introduction ..." or in of his other books, that does not mean that it is widely accepted by the research community and all the other experts. Usually it is the non-experts that are impressed the most by Chris Date's writings. You may also notice that Date doesn't get the definition of 5NF right in his "Introduction ...". Not a good start for somebody who wants to tell the world how 6NF should be defined.... But I digress.

Another criticism is that 6NF is too strict. If there is no intervals anywhere it still says you have to normallize to INF, (all JDs are trivial) and not just to PJNF. Why would you do that? Sure, you could argue that we always want access to historical information, so we always have an interval, but why not be modest here and let the data modeler decide.

>> ... Actually finding out what the elementary facts are is essentially 
>> the same as normalizing to 5NF. 

> That is, only when you exclude intervals as key-attributes.
> When you allow intervals as key-attributes (and... why not?)
> it maps to 6NF.

Oops, I'm afraid I have to backpedal a little here, so it is my turn to apologize. Splitting a relation into elementary facts is of course equivalent to normalizing to INF which is evidently not the same as normalizing to PJNF.

> My take is that Date, Darwen and Lorenzos formulated 6NF the way they
> did to make it fairly obvious that 6NF is more strict than PJNF (5NF)
> (i.o.w. that every set of relations (relational variables) in 6NF is by
> definition also in 5NF so 6NF is another step on the lossless
> decomposition ladder). However, until I see an counterexample -
> preferably pizza orders related - I'll look at 6NF as an alternative
> predicate for the INF, the irreducable normal form (loose definition:
> just one non-key attribute) (BTW great
> acronym, don't you think? :-).

Hmmm, actually, you might be on to something there. My first thought was that *clearly* Date's 6NF is strictly stronger than INF, but then I realized the following. If there is a generalized JD (in Date's terms) then that means there is a classical JD on the unpacked relation. But from that it follows that the same JD also holds on the packed relation! So for every generalized JD on the (packed) relation there also holds the equivalent (w/o the ACL) classical JD on the (packed) relation. As a consequence Date's 6NF and INF are always equivalent.

I wonder if Date et al. have realized that.

  • Jan Hidders
Received on Tue Apr 13 2004 - 21:54:04 CEST

Original text of this message