I am currently in a Database class and have some confusion with normalizing to 3NF. I have one specific issue that was not addressed in class but appears in the book problems.
For example I have
R (ABCDEFGH)
AB-->D
B-->C
B-->E
A-->H
H-->G
I have two issues with the problem. First, when decomposing the transitive dependencies of B
, should they be split into two tables of BC
and BE
or a single table BCE
.
Second is how do I decompose H-->G
. When I remove the partial dependency of A-->H
into a separate table AH
, the dependency H-->G
no longer exists because I already removed H
to put it into a separate table.
This is my solution to breaking this down.
R (ABCDEFGH)
R1 (ABCEFGH) R1(ABD)
R2 (ABEFGH) R2(BC)
R3 (ABDFGH) R3(BE)
R4 (ABDFG) R4(AH)
I have no idea whether I am loosing the H-->G
FD by breaking it down like this. However following the steps I had to break apart all the partial FDs before breaking down the transitive one.
Any help would be appreciated on my two issues.