Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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 ?

share|improve this question
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 '11 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. – ankurtr Nov 22 '11 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 '11 at 18:23
@JNK: I am not getting it. – ankurtr Nov 22 '11 at 18:27
up vote 2 down vote accepted

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..

share|improve this answer
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 ? – ankurtr Nov 22 '11 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 '12 at 10:31

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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