Normalization – Understanding BCNF Confusion

normalization

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 ?

Best Answer

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