Re: normalisation problems
Date: 21 Nov 2000 13:36:05 GMT
Message-ID: <8vdto5$ksp$1_at_news.tue.nl>
wrote:
>
> I am currently working on a normalisation assignment. I feel that I
> understand the theory of normalisation reasonably well, but have
> difficulty applying it to the example below -
>
> Relation R = < A, B, C (D, E, F, G)>
>
> where A is a primary key and the attributes in brackets are a
> repeating group.
>
> Functional dependencies -
>
> FD1: A -> B C
> FD2: A D -> E F G
> FD3: A E -> D F G
> FD4: E -> G
> FD5: B -> C
>
> I understand that R is not in the first normal form (1NF) because it
> has a repeating group. My intuition tells me to take out B and C into
> a separate relation whose key field is A since the other fields (D,
> E, F, G) are not functionally dependant on B or C. Presumably A would
> be a partial key to the remaining table (D, E, F, G). What would be
> its complete primary key?
To reach the 2NF the bad FDs have te be split off into separate tables. So, we get:
R1.1(A,B) R1.2(E,G) R1.3(A,C,D,E,F)
But, as you can see, this is not dependency preserving because FD5 is now split over R1.1 and R1.2. So, we will skip this phase and go to 3NF immediately. The split is then:
R1.1(A,B) R1.2(E,G) R1.3(B,C) R1.4(A,D,E,F)
As this is dependency preserving you can now assign the FDs to the different relations as shown below.
A->B E->G B->C AD->E AE->D AE->F
From this you can now easily derive the candidate keys of the new relations:
{A} {E} {B} {AD,AE}
As you can see there are no more FDs that violate 3NF, or even BCNF. In fact, all the dependencies follow from the key constraints. So you are not only in BCNF, but also in 4NF, 5NF and DKNF (domain key normal form).
Kind regards,
Jan Hidders Received on Tue Nov 21 2000 - 14:36:05 CET