I am trying to understand how to normalize a relation into BCNF form.
I know what is the definition of BCNF, and I know that in order to normalize it I need to eliminate every D -> X where D isn't part of a key candidate.
And to create a new tables of (D,X) and (S,X).
I also read this threads:
But the problem I am facing is how to use the algorithm when X is part of the super key. I will explain:
Assume we have this relation:
R = (a,b,c,d,e)
FD = { {a,b}->{c} , {a,b}->{d} , {a,b}->{e} , {d}->{b} }
Obviously, the only super key is (a,b). And clearly, d isn't a key candidate.
d->b violating the BCNF but we can't just take b out of the table since it is part of the super key.
So my question is: in this case, how can we normalize this relation into BCNF form?