Re: Sixth normal form

From: Jan Hidders <>
Date: Sat, 11 Aug 2007 03:59:54 -0700
Message-ID: <>

On Aug 10, 10:41 pm, "Brian Selzer" <> wrote:
> "Jan Hidders" <> wrote in message
> > On 9 aug, 04:15, "Brian Selzer" <> wrote:
> >> The closure of the set of functional dependencies
> >> includes A --> C, which can only be preserved by the inclusion
> >> dependency,
> >> {A,B}[B] IN {B,C}[B].
> > Not necessarily. That depends on your definition of FDs over
> > attributes in different relations. The usual definition in
> > normalization theory is that they hold for a schema if they hold for
> > the natural join of all relations in the schema. In that case the FD
> > is preserved also without the inclusion dependency.
> I don't agree with the usual definition. It isn't strict enough, in my
> opinion.
> (1) A --> B /and/ B --> C; therefore A --> C.
> (2) A --> B /or/ B --> C; therefore A -/-> C.
> (1) is preserved by the IND {A, B}[B] IN {B, C}[B]; (2) is what is without
> the IND.
> While it is true that A --> C in {A, B} JOIN {B, C}, without the IND there
> can still exist values for A that do not determine a value for C.

Which sometimes is and sometimes isn't a problem. Just as not having the inclusion dependencies in both directions may sometimes be a problem but usually isn't. It's really quite simple. If you want to be really equivalent you need both inclusion dependencies. Omitting one or both gives you a more liberal schema which might be a good thing because it now let's you represent information that you couldn't before, but it might also be a bad thing because, as your example nicely demonstrated, you now allow the violatio of constraints that might be necessary for certain information to make sense.

With all respect, but why you are so insistent on making this complicated and why you are so fixated on finding the one right way of normalizing (which of course there isn't) is really beyond my comprehension.

  • Jan Hidders
Received on Sat Aug 11 2007 - 12:59:54 CEST

Original text of this message