Presentation is loading. Please wait.

Presentation is loading. Please wait.

Lossless Decomposition By Chi-Shu Ho For CS157A Prof. Sin-Min Lee.

Similar presentations


Presentation on theme: "Lossless Decomposition By Chi-Shu Ho For CS157A Prof. Sin-Min Lee."— Presentation transcript:

1 Lossless Decomposition By Chi-Shu Ho For CS157A Prof. Sin-Min Lee

2 Decomposition  Goal: Eliminate redundancy by decomposing a relation into several relations in a higher normal form.  It is important to check that a decomposition does not introduce new problems. -- A good decomposition allows us to recover the original relation

3 Decompositions in General Let R be a relation with attributes A 1,A 2,…A n Create two relations R1 and R2 with attributes B 1, B 2,…B m C 1,C 2,…C i Such that: B 1, B 2,…B m ∪ C 1,C 2,…C i = A 1,A 2,…A N And R1 is the projection of R on B 1, B 2,…B m R2 is the projection of R on C 1,C 2,…C i

4 Problems with Decomposition Some queries become more expensive Given instances of the decomposed relations, we may not be able to reconstruct the corresponding instance of the original relation – information loss.

5 Certain Decomposition May Cause Problem NamePriceCategory Gizmo19.99Gadget OneClick24.99Camera DoubleClick29.99Camera PriceCategory 19.99Gadget 24.99Camera 29.99Camera NameCategory GizmoGadget OneClickCamera DoubleClickCamera R R1R2

6 NamePriceCategory Gizmo19.99Gadget OneClick24.99Camera OneClick29.99Camera DoubleClick29.99Camera DoubleClick29.99Camera R’ NamePriceCategory Gizmo19.99Gadget OneClick24.99Camera DoubleClick29.99Camera R

7 Lossy Decomposition EmployeeProjectBranch BrownMarsL.A. GreenJupiterSan Jose GreenVenusSan Jose HoskinsSaturnSan Jose HoskinsVenusSan Jose Functional dependencies: Employee Branch, Project Branch T

8 Lossy Decomposition Decomposition of the previous relation EmployeeBranch BrownL.A GreenSan Jose HoskinsSan Jose ProjectBranch MarsL.A. JupiterSan Jose SaturnSan Jose VenusSan Jose T1T2

9 Lossy Decomposition After Natural Join EmployeeProjectBranch BrownMarsL.A. GreenJupiterSan Jose GreenVenusSan Jose HoskinsSaturnSan Jose HoskinsVenusSan Jose GreenSaturnSan Jose HoskinsJupiterSan Jose EmployeeProjectBranch BrownMarsL.A. GreenJupiterSan Jose GreenVenusSan Jose HoskinsSaturnSan Jose HoskinsVenusSan Jose Original Relation The result is different from the original relation: the information can not be reconstructed.

10 Lossless Decompostion A decomposition is lossless if we can recover: R(A, B, C) Decompose R1(A, B) R2(A, C) Recover R’(A, B, C) R’ = R

11 What is lossless decomposition?  The decomposition of a relation R on X 1 and X 2 is lossless if the join of the projections of R on X 1 and X 2 is equal to R itself (that is, not containing false tuples).

12 Lossless Decomposition Property  The decomposition of R into X and Y is lossless with respect to F if and only if the closure of F contains either: – X ∩ Y (X intersect Y)  X, that is: all attributes common to both X and Y functionally determine ALL the attributes in X OR – X ∩ Y (X intersect Y)  Y, that is: all attributes common to both X and Y functionally determine ALL the attributes in Y

13 Armstrong’s Axioms X, Y, Z are sets of attributes 1. Reflexivity: If X  Y, then X  Y 2. Augmentation: If X  Y, then XZ  YZ for any Z 3. Transitivity: If X  Y and Y  Z, then X  Z 4. Union: If X  Y and X  Z, then X  YZ 5. Decomposition: If X  YZ, then X  Y and X  Z

14 Example of Lossless Decomposition GIVEN: LENDINGSCHEME=(BRANCHNAME, ASSETS, BRANCHCITY, LOANNUMBER, CUSTOMERNAME, AMOUNT) REQUIRED FD'S: l BRANCHNAME  ASSETS BRANCHCITY l LOANNUMBER  AMOUNT BRANCHNAME DECOMPOSE LENDINGSCHEME INTO: 1. BRANCHSCHEME=(BRANCHNAME, ASSETS, BRANCHCITY) 2. BORROWSCHEME=(BRANCHNAME, LOANNUMBER, CUSTOMERNAME, AMOUNT)

15 Example of Lossless Decomposition SHOW THAT THE DECOMPOSITION IS A LOSSLESS DECOMPOSITION 1.USE AUGMENTATION RULE ON FIRST FD TO OBTAIN: BRANCHNAME  BRANCHNAME ASSETS BRANCHCITY 2.INTERSECTION OF BRANCHSCHEME AND BORROWSCHEME IS BRANCHNAME 3.BRANCHNAME  BRANCHSCHEME 4.SO, INITIAL DECOMPOSITION IS A LOSSLESS

16 Example 2 GIVEN: BORROWSCHEME=(BRANCHNAME, LOANNUMBER, CUSTOMERNAME, AMOUNT) REQUIRED FD'S: l LOANNUMBER  AMOUNT BRANCHNAME DECOMPOSE LENDINGSCHEME INTO: 1. LOAN-INFO-SCHEME=(BRANCHNAME, LOANNUMBER, AMOUNT) 2. CUSTOMER-LOAN-SCHEME=(LOANNUMBER, CUSTOMERNAME)

17 Example 2 (con’t) SHOW THAT THE DECOMPOSITION IS A LOSSLESS DECOMPOSITION 1.USE AUGMENTATION RULE ON FD TO OBTAIN: LOANNUMBER  LOANNUMBER AMOUNT BRANCHNAME 2.INTERSECTION OF LOAN-INFO-SCHEME AND CUSTOMER-LOAN-SCHEME IS LOANNUMBER 3.LOANNUMBER  LOAN-INFO-SCHEME 4.SO, INITIAL DECOMPOSITION IS A LOSSLESS

18

19 Example R1 (A1, A2, A3, A5) R2 (A1, A3, A4) R3 (A4, A5) FD1: A1  A3 A5 FD2: A5  A1 A4 FD3: A3 A4  A2

20 A1 A2 A3 A4 A5 R1 a(1) a(2) a(3) b(1,4) a(5) R2 a(1) b(2,2) a(3) a(4) b(2,5) R3 b(3,1) b(3,2) b(3,3) a(4) a(5) Example (con’t)

21 By FD1: A1  A3 A5 A1 A2 A3 A4 A5 R1 a(1) a(2) a(3) b(1,4) a(5) R2 a(1) b(2,2) a(3) a(4) b(2,5) R3 b(3,1) b(3,2) b(3,3) a(4) a(5) Example (con’t)

22 By FD1: A1  A3 A5 we have a new result table A1 A2 A3 A4 A5 R1 a(1) a(2) a(3) b(1,4) a(5) R2 a(1) b(2,2) a(3) a(4) a(5) R3 b(3,1) b(3,2) b(3,3) a(4) a(5) Example (con’t)

23 By FD2: A5  A1 A4 A1 A2 A3 A4 A5 R1 a(1) a(2) a(3) b(1,4) a(5) R2 a(1) b(2,2) a(3) a(4) a(5) R3 b(3,1) b(3,2) b(3,3) a(4) a(5) Example (con’t)

24 By FD2: A5  A1 A4 we have a new result table A1 A2 A3 A4 A5 R1 a(1) a(2) a(3) a(4) a(5) R2 a(1) b(2,2) a(3) a(4) a(5) R3 a(1) b(3,2) b(3,3) a(4) a(5) Example (con’t)

25 Conclusions Decompositions should always be lossless: -- Lossless decomposition ensure that the information in the original relation can be accurately reconstructed based on the information represented in the decomposed relations.


Download ppt "Lossless Decomposition By Chi-Shu Ho For CS157A Prof. Sin-Min Lee."

Similar presentations


Ads by Google