0% found this document useful (0 votes)
204 views

Boyce Codd Normal Form (BCNF) : Emp - Id Emp - Country Emp - Dept Dept - Type Emp - Dept - No

Boyce-Codd normal form (BCNF) is a more restrictive form of third normal form (3NF) that requires that all functional dependencies of a table have a candidate key for a determinant. A table is in BCNF if the left side of every one of its functional dependencies is a superkey. An example employee table is provided that is not in BCNF because neither the employee ID nor department are keys on their own. To convert it to BCNF, the table is decomposed into three new tables where each left side of the functional dependencies is now a key.

Uploaded by

balu 1203
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
204 views

Boyce Codd Normal Form (BCNF) : Emp - Id Emp - Country Emp - Dept Dept - Type Emp - Dept - No

Boyce-Codd normal form (BCNF) is a more restrictive form of third normal form (3NF) that requires that all functional dependencies of a table have a candidate key for a determinant. A table is in BCNF if the left side of every one of its functional dependencies is a superkey. An example employee table is provided that is not in BCNF because neither the employee ID nor department are keys on their own. To convert it to BCNF, the table is decomposed into three new tables where each left side of the functional dependencies is now a key.

Uploaded by

balu 1203
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

7/2/2021 DBMS BCNF - javatpoint

Boyce Codd normal form (BCNF)


BCNF is the advance version of 3NF. It is stricter than 3NF.

A table is in BCNF if every functional dependency X → Y, X is the super key of the table.

For BCNF, the table should be in 3NF, and for every FD, LHS is super key.

Example: Let's assume there is a company where employees work in more than one department.

EMPLOYEE table:

EMP_ID EMP_COUNTRY EMP_DEPT DEPT_TYPE EMP_DEPT_NO

264 India Designing D394 283

264 India Testing D394 300

364 UK Stores D283 232

364 UK Developing D283 549

In the above table Functional dependencies are as follows:

EMP_ID  →  EMP_COUNTRY  
EMP_DEPT  →   {DEPT_TYPE, EMP_DEPT_NO}  

Candidate key: {EMP-ID, EMP-DEPT}

The table is not in BCNF because neither EMP_DEPT nor EMP_ID alone are keys.

To convert the given table into BCNF, we decompose it into three tables:

EMP_COUNTRY table:

https://www.javatpoint.com/dbms-boyce-codd-normal-form 1/3
7/2/2021 DBMS BCNF - javatpoint

EMP_ID EMP_COUNTRY

264 India

264 India

EMP_DEPT table:

EMP_DEPT DEPT_TYPE EMP_DEPT_NO

Designing D394 283

Testing D394 300

Stores D283 232

Developing D283 549

EMP_DEPT_MAPPING table:

EMP_ID EMP_DEPT

D394 283

D394 300

D283 232

D283 549

Functional dependencies:

EMP_ID   →    EMP_COUNTRY  
EMP_DEPT   →   {DEPT_TYPE, EMP_DEPT_NO}  

Candidate keys:

For the first table: EMP_ID 


For the second table: EMP_DEPT


For the third table: {EMP_ID, EMP_DEPT}

https://www.javatpoint.com/dbms-boyce-codd-normal-form 2/3
7/2/2021 DBMS BCNF - javatpoint

Now, this is in BCNF because left side part of both the functional dependencies is a key.

https://www.javatpoint.com/dbms-boyce-codd-normal-form 3/3

You might also like