Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> comp.databases.theory -> Re: The "standard" way to get to 3NF

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@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. :-)

Received on Wed Apr 14 2004 - 14:42:08 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US