Re: The "standard" way to get to 3NF

From: Jan Hidders <jan.hidders_at_REMOVETHIS.pandora.be>
Date: Wed, 14 Apr 2004 19:42:08 GMT
Message-ID: <kugfc.71448$OG1.4811821_at_phobos.telenet-ops.be>


Jan Hidders wrote:
> Jan Hidders wrote:

>> [...] The usual algorithm that gets you to 3NF in one step (the one 
>> using the minimal cover) splits as little as possible. See for example 
>> sheet 46 on:
>>
>>     http://cs.ulb.ac.be/cours/info364/relnormnotes.pdf

>
>
> Did anyone notice that this algorithm is actually not correct? Take the
> following example of a relation R(A,B,C,D,E) with the set of FDs:
>
> { AB->C, AB->D, BC->D }
>
> It is clear that the relation ABCD is not in 3NF. Since the set of FDs
> it is already a minimal cover the resulting decomposition is:
>
> { ABCD, BCD }
>
> But that gives us our old relation back (plus a projection) so this is
> definitely not in 3NF.

As was pointed out to me by Ramez Elmasri, the counterexample is not correct since the set of FDs is not a minimal cover. The reason for this is that AB->D can be derived from AB->C and BC->D. So a proper minimal cover would be

    { AB->C, BC->D }

and that leads to the decomposition

    { ABC, BCD } which is indeed in 3NF.

I now officially declare this thread closed an will stop replying to myself. :-)

  • Jan Hidders
Received on Wed Apr 14 2004 - 21:42:08 CEST

Original text of this message