3NF Decomposition Check

I've solved, or I think I have, two book problems an 3NF, but I'm still a bit unsure about my understanding of it all and want to be sure I did it correctly.

For the first one I have

R(ABCD)

and FDs:

AB->C BC->D CD->A AD->B

As far as I can tell these are all superkeys, and thus this is in 3NF as well as BCNF.

The second was:

R(ABCDE)

AB->C C->D D->B D->E

The first being a superkey, and the rest not, so I have to find candidate keys and check if any RHS fields are in them making the FDs valid.

So I found AB AC and AD as candidates. That leaves only D->E in violation.

so..

R1 = D+ = DEB with all FDs that apply to it being keys so this is in 3NF and I think also BCNF.

R2 = R - (D+ - D) = ACD with the applicable FD being c->D which is not a key. and now for this D is not in a candidate key so this is not 3NF??

then I did:

R3 = C+ = CD two elements so BCNF and 3NF R4 = R2 - (C+ - C) = ACD - D = AC same as above, so all good.

Final output being:

{DEB}, {CD}, {AC}.

Is this all correct?

Also, is it possible to have a something in 3NF that isn't in BCNF? From what I know it doesn't seem like it but I want to be sure.

• To bring a relation in 3NF there are algorithms that should be followed to preserve data and dependencies (for instance the synthesis algorithm for 3NF). Did you used some algorithm, and which, or are you trying something by yourself? In your decomposition you obtain three relations which are in BCNF but the dependency `A B → C` is lost. Also, the answer to your last question is yes. – Renzo Nov 21 '17 at 9:33
• I was just doing a book problem and from the examples I think what I did was about all they wanted. All I've got are the R1 R2 formulas and a description about the rules for being in 3NF and BCNF which I wasn't sure I fully understood. – windy401 Nov 21 '17 at 16:50
• Example decompositions are not presentations of algorithms for decomposing. Find the algorithms. PS It must be "possible to have a something in 3NF that isn't in BCNF" or 3NF would imply BCNF. Whereas BCNF implies (yet is not) 3NF. If your textbook is dealing with BCNF, it has explained or will soon explain this. Also "as far as I can see" 1. requires we do that work you just did & could have laid out instead and 2. leaves us nowhere if you're wrong--we don't know where you went wrong & justifying our work would be to rewrite a texbook section. So find, quote & follow definitions & algorithms. – philipxy Nov 25 '17 at 10:13