Re: Sixth normal form

From: Jan Hidders <hidders_at_gmail.com>
Date: Mon, 20 Aug 2007 22:10:09 -0000
Message-ID: <1187647809.393912.318860_at_57g2000hsv.googlegroups.com>


On 20 aug, 16:32, "Brian Selzer" <br..._at_selzer-software.com> wrote:
>
>
> For this particular case, you're right, but it doesn't hurt to look at the
> FDs, and in the general case, it is necessary. Here are some simple
> decompositions.
>
> (1) R(A,B,C) such that A --> B and A --> C into R1(A,B) and R2(A,C):
> Since A --> C, there can't be a value for A without a value for C, so the
> IND R1[A] in R2[A] is needed. Since A --> B, there can't be a value for A
> without a value for C so the IND R2[A] in R1[A] is needed.

The conclusion is correct, but your argumentation is false. It is not because of A --> C that there cannot be an A value without a C value. Also if that FD did not hold then there would have to be for every A value at least one C value. All that the FD says is that in addition there can be at most one.

> (2) R(A,B,C) such that A --> B and B --> C into R1(A,B) and R2(B,C):
> Since A --> C is implied by the cover for R, there can't be a value for A
> without a value for C, so the IND R1[B] in R2[B] is needed.

But in R there cannot be a B value without a value for A, so the IND R2[B] -> R1[B] is needed.

> (3) R(A,B,C) such that AB --> C and C --> B into R1(A,C) and R2(B,C):
> Since C --> B, there can't be a value for C without a value for B, so the
> IND R1[C] in R2[C] is needed.

In R there cannot be a C value with at least one associated A value, so you also need IND R2[C] -> R1[C].

>
> (4) R(A,B,C) such that A --> B and B --> A into R1(A,B) and R2(A,C):
> Since A --> B, there can't be a value for A without a value for B, so the
> IND R2[A] in R1[A] is needed.

In R there cannot be a B value without at least one associated C value, so you also need IND R1[A] -> R2[A].

So you see that in all cases both INDs are required. Which FDs exactly hold is in fact completely immaterial.

  • Jan Hidders
Received on Tue Aug 21 2007 - 00:10:09 CEST

Original text of this message