BCNF. Boyce-Codd Normal Form |
BCNF. Boyce-Codd Normal Form
Boyce-Codd Normal Form states mathematically that:
A relation R is said to be in BCNF if whenever X -> A holds in R, and A is not
in X, then X is a candidate key for R.
BCNF covers very specific situations where 3NF misses inter-dependencies between
non-key (but candidate key) attributes. Typically, any relation that is in 3NF
is also in BCNF. However, a 3NF relation won't be in BCNF if (a) there are
multiple candidate keys, (b) the keys are composed of multiple attributes, and
(c) there are common attributes between the keys.
Basically, a humorous way to remember BCNF is that all functional
dependencies are:
"The key, the whole key, and nothing but the key, so help me Codd."
|