## Vivek's SQL Notes

Vivek johari is currently a Analyst and have more that 5.5 yeras of experience in database. He has Master degree in Computer and also he is Microsoft certified Sql DBA (MCTS)& Microsoft certified SQl BI professional(MCTS). He is also Oracle certified profession(OCP)DBA in ORACLE 10g and ORACLE 9i.He has the experience of working in PL/SQL, T-SQL and SSIS/SSRS. His work basically involved designing and optimization of the Database.He has also published many database articles on his blog Technologies with Vivek Johari.

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