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