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.

DMCA.com

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

    http://vivekjohari.blogspot.in/2009/12/sql-server-how-to-write-stored.html

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

    Thanks
    Abhinav

  6. Hi Vivek,

    Its a great article.it 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