Boyce – Codd Normal Form (BCNF)

Boyce – Codd Normal Form (BCNF)  :- A normal form is said to be a Boyce – Codd Normal Form if it is in 3NF and there is not a possibility of a key attribute is determined by a Non Key attribute.

For example , suppose there are 5 columns says A,B,C,D,E and  combination of the columns  A and B  constitute the Primary key for this table.

Suppose, there is no transitive dependencies are existed in this table, but column C can determine the value of column B. In other words, the value of Column B is determined by the Column C then this table can not be in the Boyce – Codd Normal Form. To make this table in BCNF we needs to divide this table into two tables “table 1” and “table2” . The table1 will contains the following columns A, B, D,E where primary key is the combination of the column A and B and  table2 will contains the two columns B , C where C will be the primary key.

Table 1  (Primary key :-A,B)                     Table2 (Primary Key :- C)
A,B,D,E                                                             B,C

 Thus every table satisfying the 3NF condition cannot be said to be in BCNF normal form but a table in BCNF will always be in 3NF form.

About vivekjohari

Database Consultant with more than 11.5 years of experience in database designing & programming and DBA related activities.  Had good experience on different databases like SQL Server, MySQL & Oracle, Azure SQL &  Big Data.
This entry was posted in SQL Normalization, SQL Server and tagged , . Bookmark the permalink.

8 Responses to Boyce – Codd Normal Form (BCNF)

  1. sandiip says:

    guide me for mssql certification.
    i want to do it but how? please guide me.
    Is there any combination of linux and mssql for a good job in a reputed company?

  2. can you tell me how to create stored procedure in sql server 2008 plz guide me step by step

  3. admin says:

    Hi Syed,
    Thanks for your valuable comments. For Stored procedures, below link will be useful to you

  4. thanks for useful info

  5. Hi Vivek,

    Great article. It will be helpful if you give an example table and illustrate the statement:
    "olumn C can determine the value of column B. In other words, the value of Column B is determined by the Column C".


  6. Hi Vivek,

    Its a great will be help full to us who wants to learn the new things …

  7. jayshri says:

    Theory & examples are very easy to understand. It will be very help full to me,all the articles are good,
    Thanks to u

  8. admin says:

    Thanks for your Valuable comments

Leave a Reply