Boyce-Codd Normal Form
Schema
is trivial ( ) is a superkey of
Database schema
Algorithm
function computeBCNF(R, F)
begin
Result := {R};
while some Ri ∈ Result and (X -> Y) ∈ F+
violate the BCNF condition do begin
Replace Ri by Ri - (Y - X);
Add X ∪ Y to Result;
end;
return Result;
end
Correctness Theorem for ComputeBCNF
Function ComputeBCNF(R,F)
returns a lossless-join decomposition of
Computing lossless-join BCNF decomposition
No efficient procedure exists
- Results depend on sequence of FDs used to decompose relations
- It is possible no lossless join dependency preserving BCNF decomposition exists
Consider
is not in BCNF with respect to will be an inter-relational FD in any decomposition of