Schema R = (A,B,C,D,E)
Functional Dependency F1 = {A->BC , CD->E, B->D, E->A}
Functional Dependency F2 = {A->D, A->E, DE->BC, B->A, D->C}
According to F1, candidate keys - A, E, BC, CD
According to F2, candidate keys - A, B, DE
Condition for a schema to be in 3NF:
For all X->Y, at least one of the following is true:
1. X is a superkey
2. X->Y is trivial (that is,Y belongs to X)
3. Each attribute in Y-X is contained in a candidate key
I am aware that R is in 3NF according to F1 but not in 3NF according to F2.
R is not in 3NF according to F2 because in functional dependency D->C,
1. D is not a superkey
2. D->C is not trivial
3. C-D which is C is not contained in any candidate keys.
So R is not in 3NF according to F2.
Now how can I convert it into 3NF?
I tried the following:
Decomposing R into (A,B,D,E) (C,D) (B,C,D,E) in such a way that dependency is also preserved.
Is this right and is there any other way to decompose?