Hello I am currently studying for an exam that will take place in 11 days time from now. I am struggling with Carnonical Cover, Dependency Preservation and Lossless Decomposition. I am also a bit foggy on normal forms and the above mentioned subjects in the sense, that whenever I do exercises I seem to mess up. My question is whether the approach and thoughts here are correct:
R(ABCDEFG) Provided is the following set of dependencies after a canonical cover has been made. I did not do the canonical cover myself but the assignment said I had to assume it had been done.
Fc:
A -> C
E -> A
C -> ABF
F -> CDG
A+ = ABCDFG
E+ = ABCDEFG
C+ = ABCDFG
F+ = ABCDFG
E = Candidate Key.
This list of functional dependencies are in 2NF since there are no partial dependencies. It is however not in 3NF since there are transistive dependencies.
However decomposing into the following 4 relations will result in it being not only in 3NF but also BCNF
R1 = {E,A}
E -> A
R2 = {A, C}
A -> C
R3 = {CABF}
C -> ABF
R4 = {FCDG}
F -> CDG
I use A in R1 as a foreign key to R2 and C in R2 as a foreign key to R3 etc.
Now there are no transistive dependencies and since all left hand sides in their respective relation are candidate keys it is in BCNF.
Is it not also lossless and dependency preserving?