Boyce-Codd Normal Form (BCNF) remove non-candidate key determinant

is

A relation is in BCNF if and only if every determinant is a candidate key

BCNF also has additional constraints compared with the general definition of 3NF.

19

Difference between 3NF and BNFC

a functional dependency A -> B:

3NF allows this dependency in a relation if B is a primary-key attribute and A is not a candidate key

Whereas, BCNF insists that for this dependency to remain in a relation, A must be a candidate key

Every relation in BCNF is also in 3NF. However, a relation in 3NF is not necessarily in BCNF

Example

20

21

23

25

26

27

28

22

24

Dreamhome example

Dependency