1

I understood all the three normal forms which comes before BCNF but when it comes to the BCNF i am finding it extremely confusing and difficult and over the net also i found no good tutorial on it. Can any one explain what to do in order to make relation in BCNF form precisely ?

4
  • 1
    The wikipedia article on it is actually pretty clear. What SPECIFICALLY are you having issues with? This is not the place to ask extremely general questions about tutorials and such.
    – JNK
    Nov 22, 2011 at 14:56
  • I read the wiki article on BCNF but the example given there are not clear and i am also having questions in their examples. The examples i am facing frequently is (AB->C) and (C->B). Then it is transitive dependency which will be removed in 3NF. so what to do in BCNF ? I am not getting any continuous example where all the normalization forms are derived from the one case study. That's the reason i posted question here. Nov 22, 2011 at 18:22
  • As mentioned in the wiki article, your example CAN'T be put into BCNF. It's not universally applicable.
    – JNK
    Nov 22, 2011 at 18:23
  • @JNK: I am not getting it. Nov 22, 2011 at 18:27

1 Answer 1

1

BCNF fixes a minor flaw in 3NF

2NF and 3NF talk about non-key attributes:

  • 2NF requires non-key atributes depend only on the whole key
  • 3NF requires non-key attributes don't depend on each other

BCNF tidies up intra-key attributes. It requires (in 3 different ways):

  • you don't have 2 candidate keys within the one key generated by 3NF
  • key attributes don't depend on other key attributes
  • no overlapping candidate keys (that is, the 3NF key is a super key of one or more other candidate keys)

As the various tutorials say, you probably don't need it..

2
  • Thanks for reply. I read about it and i came to conclusion that a relation is in BCNF iff "every determinant is the candidate key". Now i am not getting your third point which is overlapping candidate keys. What is it ? Nov 22, 2011 at 18:10
  • "As the various tutorials say, you probably don't need it" -- I've seen tutorials take the opposite view i.e. if BCNF fixes 3NF (your words) then we no longer need 3NF.
    – onedaywhen
    Apr 16, 2012 at 10:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.