If D = {R1, R2} is a decomposition of R, and F is the set of functional…

2017

If D = {R1, R2} is a decomposition of R, and F is the set of functional dependencies on R, then which of the following ensures that the decomposition D is lossless (nonadditive)?

Answer: A. ((R1 ∩ R2) → (R1 − R2)) ∈ F+; D. ((R1 ∩ R2) → R1) ∈ F+ConceptFor a binary decomposition of R into R1 and R2, the join is lossless with respect to F exactly when the common attributes functionally determine all…

  1. A.

    ((R1R2) → (R1R2)) ∈ F+

  2. B.

    ((R1R2) → (R1R2)) ∉ F+

  3. C.

    ((R1R2) → (R1R2)) ∈ F+

  4. D.

    ((R1R2) → R1) ∈ F+

Attempted by 340 students.

Show answer & explanation

Correct answer: A, D

Concept

For a binary decomposition of R into R1 and R2, the join is lossless with respect to F exactly when the common attributes functionally determine all attributes of at least one fragment.

Equivalently, (R1R2) → R1 or (R1R2) → R2 must belong to F+.

Application

Let X = R1R2 and Y = R1R2. Then R1 = X ∪ Y.

  1. The condition X → Y states that the common attributes determine the attributes unique to R1.

  2. Reflexivity gives X → X. Applying the union rule to X → X and X → Y gives X → X ∪ Y, that is, X → R1.

  3. Conversely, X → R1 gives X → Y by decomposition because Y is a subset of R1. Thus X → Y and X → R1 are equivalent conditions here.

  4. The non-membership statement supplies no such dependency, while (R1R2) → (R1R2) is the trivial dependency R → Y and does not test what the common attributes determine.

Cross-check

Starting from either equivalent condition and applying Armstrong’s axioms derives the other. Therefore both ((R1R2) → (R1R2)) ∈ F+ and ((R1R2) → R1) ∈ F+ ensure a lossless decomposition.

Explore the full course: Niacl Ao It Specialist

Loading lesson…