1 / 24

Dependency Preservation

Dependency Preservation. By Jason Allen. Why Do We Preserve The Dependency?. We would like to check easily that updates to the database do not result in illegal relations being created. It would be nice if our design allowed us to check updates without having to compute natural joins.

feleti
Télécharger la présentation

Dependency Preservation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Dependency Preservation By Jason Allen

  2. Why Do We Preserve The Dependency? • We would like to check easily that updates to the database do not result in illegal relations being created. • It would be nice if our design allowed us to check updates without having to compute natural joins.

  3. Definition • A decomposition D = {R1, R2, ..., Rn} of R is dependency-preserving with respect to F if the union of the projections of F on each Ri in D is equivalent to F; that is if (F1 F2  …  Fn )+ = F +

  4. In Layman’s Term • Each Functional Dependency specified in F either appears directly in one of the relations in the decomposition.

  5. Continue… • It is not necessary that all dependencies from the relation R appear in some relation Ri. It is sufficient that the union of the dependencies on all the relations Ri be equivalent to the dependencies on R.

  6. Property of Dependency-Preservation • If a decomposition is not dependency-preserving, therefore, that dependency is lost in the decomposition. FD4 FD3 FD1 FD2

  7. Example of Dependency Preservation • R(A B C D) • FD1: A  B • FD2: B  C • FD3: C  D • Decomposition:R1(A B C) R2(C D)

  8. FD1: A  B • FD2: B  C • FD3: C  D R1( A B C ) FD1 FD2

  9. FD1: A  B • FD2: B  C • FD3: C  D R2( C D ) FD3

  10. FD1: A  B • FD2: B  C • FD3: C  D R1( A B C ) R2( C D ) FD1 FD3 FD2 Has all 3 functional dependencies! Therefore, it’s preserving the dependencies

  11. Example of Non-Dependency Preservation • R(A B C D) • FD1: A  B • FD2: B  C • FD3: C  D • Decomposition:R1(A C D) R2(B C)

  12. FD1: A  B • FD2: B  C • FD3: C  D R1( A C D ) FD3

  13. FD1: A  B • FD2: B  C • FD3: C  D R2( B C ) FD2

  14. FD1: A  B • FD2: B  C • FD3: C  D R1( A C D ) R2( B C ) FD2 FD3 Does not support FD1: A => B Therefore, it does not preserve the dependencies

  15. More Example • R(A B C D E) • FD1: A  B • FD2: BC  D • Decomposition:R1(A C E) R2(B C D) R3(A B)

  16. FD1: A  B • FD2: BC  D R1( A C E ) No Dependencies

  17. FD1: A  B • FD2: BC  D R2( B C D ) FD2

  18. FD1: A  B • FD2: BC  D R3( A B ) FD1

  19. FD1: A  B • FD2: BC  D R1( A C E ) R2( B C D ) FD2 R3( A B ) FD1 Has all 2 functional dependencies! Therefore, it’s preserving the dependencies

  20. Exercise Problem

  21. R(A, B, C, D, E, F ) • FD1: DA, B • FD2: C  E, F • Decomposition:R1( A, C, D )R2( A, D, B ) R3( D, E, F )R4( C, E, F )

  22. FD1: DA, B FD2: C  E, F R1( A C D )R2( A D B )R3( D E F )R4( C E F ) FD1 FD2

  23. Answer • Yes! This is a dependency-preservation

  24. Reference • Chen, Y. (2005). “Decomposition”. Retrieved on March 21, 2010 from http://www.cs.sjsu.edu/faculty/lee/cs157/Decomposition_YuHungChen.ppt • Kamel, A. “Chapter 11Relational Database Design Algorithms” Retrieved on March 22, 2010 from http://www.cord.edu/faculty/kamel/08F-330/Presentations/ch11.pdf • Lee, S. “Huffman code and Lossless Decomposition”. Retrieved on March 21, 2010 from http://www.cs.sjsu.edu/~lee/cs157b/29SpCS157BL14HuffmanCode&LosslessDecomposition.ppt • Zaiane, O. (1998) “Dependency Preservation”. Retrieved on March 21, 2010 from http://www.cs.sfu.ca/CC/354/zaiane/material/notes/Chapter7/node8.html

More Related