Re: A Normalization Question
Date: Tue, 13 Jul 2004 11:35:24 +0100
Message-ID: <cd0e53$1p0a$1_at_gazette.almaden.ibm.com>
"Neo" <neo55592_at_hotmail.com> wrote in message
news:4b45d3ad.0407121228.b967ece_at_posting.google.com...
> > Let's consider a small example. We take a relation R(A,B,C) with a
> > functional dependency A->B. Now consider the following instance:
> >
> > A B C
> > ---------
> > 1 2 3
> > 1 2 4
>
> What I am saying is assuming tuple1 only and no FD A->B; that 1 isa
> person, 2 is a color and 3 isa street all named by the same string
> 'brown' thus
>
> R2(1, 'brown')
> R2(2, 'brown')
> R2(3, 'brown')
>
> which further normalizes to
>
> R2(1, 10)
> R2(2, 10)
> R2(3, 10)
>
> AND
>
> R3(10, 'b', 'r', 'o', 'w', 'n')
Above you have added extra information (the 10). Normalization does not increase the amount of information in the database (in fact it keeps it the same).
If you do not consider the 10 to be information, then your model would have to consider the following sets as equal, and the statement as TRUE.
R2(1, 10), R2(2, 10), R2(3, 10), R3(10, 'b', 'r', 'o', 'w', 'n') = R2(1, 11), R2(2, 11), R2(3, 11), R3(11, 'b', 'r', 'o', 'w', 'n')
If you add information, you are modelling a different scenario
You should not be saying
"which further normalizes to"
above, as it is *not a normalization*. You should rather say something like
"which can be captured by this scenario (amongst others)"
Regards
Paul Vernon
Business Intelligence, IBM Global Services
Received on Tue Jul 13 2004 - 12:35:24 CEST