result := ;done := false;
compute ;
while (not done) do
if (there is a schema in result
that is not in 4NF)
then begin
let be a nontrivial multivalued
dependency that holds on such that
is not in , and
;
result =
end
else done = true;
Cust-loan-schema=(cname, loan#)Customer-schema=(cname, street, ccity)
Figure 7.9: Projection of relation r onto a 4NF decomposition of R.