next up previous
Next: Repetition of Information Up: Desirable Properties of Decomposition Previous: Lossless-Join Decomposition

Dependency Preservation

  1. Another desirable property in database design is dependency preservation.
  2. The algorithm for testing dependency preservation follows this method:

     compute  tex2html_wrap_inline1628 
    

    for each schema tex2html_wrap_inline1556 in D do

    begin

    tex2html_wrap_inline1688 := the restriction of tex2html_wrap_inline1628 to tex2html_wrap_inline1556 ;

    end

    tex2html_wrap_inline1694

    for each restriction tex2html_wrap_inline1688 do

    begin

    tex2html_wrap_inline1698

    end

    compute tex2html_wrap_inline1700 ;

    if ( tex2html_wrap_inline1670 ) then return (true)

    else return (false);

  3. We can now show that our decomposition of Lending-schema is dependency preserving.
  4. As the above example shows, it is often easier not to apply the algorithm shown to test dependency preservation, as computing tex2html_wrap_inline1628 takes exponential time.
  5. An Easier Way To Test For Dependency Preservation

    Really we only need to know whether the functional dependencies in F and not in F' are implied by those in F'.

    In other words, are the functional dependencies not easily checkable logically implied by those that are?

    Rather than compute tex2html_wrap_inline1628 and tex2html_wrap_inline1700 , and see whether they are equal, we can do this:

    Use this simpler method on exams and assignments (unless you have exponential time available to you).

next up previous
Next: Repetition of Information Up: Desirable Properties of Decomposition Previous: Lossless-Join Decomposition

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