Boyce Codd Normal Form (BCNF) : Emp - Id Emp - Country Emp - Dept Dept - Type Emp - Dept - No
Boyce Codd Normal Form (BCNF) : Emp - Id Emp - Country Emp - Dept Dept - Type Emp - Dept - No
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}
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_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:
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