# Boyce Codd Normal Form understanding

I have a knotty (at least for me) problem to solve.

Normalize, with respect to Boyce Codd NF, the relational scheme

E(A, B, C, D, E, F)

by assuming that (A, B, C) is the unique candidate key and that the

A,B -> D
C,D -> E
E -> A


Actually what I did is:

E1(ABCEF) , E2(ABD), E3(ABCDF), E4(CDE) then I added E5(ABC) and E6(EA) getting the final result:

E1(ABC), E2(ABD), E3(CDE), E4(EA)


Unfortunately, what I wrote is wrong....Can anyone help me?

-

## migrated from stackoverflow.comJan 16 '12 at 15:05

This question came from our site for professional and enthusiast programmers.

What happened to "F"? – Mike Sherrill 'Cat Recall' Jan 15 '12 at 21:45
you're right ..actually that proves the fact I made a big mistake... – user962800 Jan 15 '12 at 21:59
Of course I have to include F since as an attribute I shouldn't get rid of it.But if you look at the functional dependency F doesn't appear... – user962800 Jan 15 '12 at 22:17
If {ABC} is a candidate key, then ABC->DEF. Therefore, ABC->D, ABC->E, and ABC->F, by Armstrong's axiom of decomposition. – Mike Sherrill 'Cat Recall' Jan 16 '12 at 0:25
I don't get it..How did you add such dependencies? I mean ABC->DEF...My reasoning was: first try to do a lossless decomposition also preserving dependencies then add the key candidate..But what I did is wrong ..Could you please explain to me in a simple way how I should solve the problem?..thanks – user962800 Jan 16 '12 at 22:13

You dropped "F" somewhere.

Since you're given {ABC} is a candidate key, then you know that ABC->DEF. (That just follows from the definition of "candidate key".) And ABC->D, ABC->E, and ABC->F, by Armstrong's axiom of decomposition.

The important part as far as BCNF is concerned is E->A.

So the final result should be: E1(ABC), E2(ABD), E3(CDE), E4(EA), E5(ABCF)

I think that's right, except for E1. You don't need a separate relation for a candidate key. I'm not sure how you derived that one given what's in the problem.

Usually, your textbook will have at least one algorithm for normalizing relations. In the real world, there's often more than one 5NF schema for a given set of FDs.

-