next up previous
Next: Normalization Using Join Dependencies Up: Normalization Using Multivalued Dependencies Previous: Theory of Multivalued Dependencies

Fourth Normal Form (4NF)

  1. We saw that BC-schema was in BCNF, but still was not an ideal design as it suffered from repetition of information. We had the multivalued dependency cname tex2html_wrap_inline2000 street ccity, but no non-trivial functional dependencies.
  2. We can use the given multivalued dependencies to improve the database design by decomposing it into fourth normal form.
  3. A relation schema R is in 4NF with respect to a set D of functional and multivalued dependencies if for all multivalued dependencies in tex2html_wrap_inline2010 of the form tex2html_wrap_inline1970 , where tex2html_wrap_inline1732 and tex2html_wrap_inline1734 , at least one of the following hold:
  4. A database design is in 4NF if each member of the set of relation schemas is in 4NF.
  5. The definition of 4NF differs from the BCNF definition only in the use of multivalued dependencies.
  6. We have an algorithm similar to the BCNF algorithm for decomposing a schema into 4NF:

     result :=  tex2html_wrap_inline1754 ;
    

    done := false;

    compute tex2html_wrap_inline2010 ;

    while (not done) do

    if (there is a schema tex2html_wrap_inline1556 in result

    that is not in 4NF)

    then begin

    let tex2html_wrap_inline1970 be a nontrivial multivalued

    dependency that holds on tex2html_wrap_inline1556 such that

    tex2html_wrap_inline1764 is not in tex2html_wrap_inline2010 , and

    tex2html_wrap_inline1768 ;

    result = tex2html_wrap_inline2252

    end

    else done = true;

  7. If we apply this algorithm to BC-schema:
  8. We can show that our algorithm generates only lossless-join decompositions.
  9. Dependency preservation is not as simple to determine as with functional dependencies.
  10. What does this formal statement say? It says that a decomposition is dependency preserving if for every set of relations on the decomposition schema satisfying only the restrictions on D there exists a relation r on the entire schema R that the decomposed schemas can be derived from, and that r also satisfies the functional and multivalued dependencies.
  11. We'll do an example using our decomposition algorithm and check the result for dependency preservation.
  12. Let's analyze the result.

      figure803
    Figure 7.9:   Projection of relation r onto a 4NF decomposition of R.

      figure850
    Figure 7.10:   A relation r(R) that does not satisfy tex2html_wrap_inline2146 .

  13. We have seen that if we are given a set of functional and multivalued dependencies, it is best to find a database design that meets the three criteria:
  14. If we only have functional dependencies, the first criteria is just BCNF.
  15. We cannot always meet all three criteria. When this occurs, we compromise on 4NF, and accept BCNF, or even 3NF if necessary, to ensure dependency preservation.

next up previous
Next: Normalization Using Join Dependencies Up: Normalization Using Multivalued Dependencies Previous: Theory of Multivalued Dependencies

Osmar Zaiane
Thu Jun 18 12:56:34 PDT 1998