Hamish Burke | 2025-05-29
Related to: #databases
BCNF Decomposition Algorithm
- Goal is to decompose a relation schema into BCNF while preserving lossless join (though not dependency preservation)
Steps
- First check if not already BCNF
- Find a violation (where FD
, is not a Superkey of ) - Decompose
- Replace
with two new schemas - Compute
- Compute
- Replace
- Repeat until all schemas are BCNF
Example
: is a superkey ( ) : is not a superkey ( ) both result in BCNF (with their FD , being a superkey) - Done