The dependency preservation decomposition is a property to decompose database…

2010

The dependency preservation decomposition is a property to decompose database schema D, in which each functional dependency X → Y specified in F,

Answer: C. either appeared directly in one of the relation schemas Ri in the decomposed D, or could be inferred from the dependencies that appear in some Ri.Concept. Let a schema R carrying a set of functional dependencies F be decomposed into fragments R1, R2, …, Rn. Write Fi = πRi(F) for the projection of F onto…

  1. A.

    appeared directly in one of the relation schemas Ri in the decomposed D.

  2. B.

    could be inferred from dependencies that appear in some Ri.

  3. C.

    either appeared directly in one of the relation schemas Ri in the decomposed D, or could be inferred from the dependencies that appear in some Ri.

  4. D.

    None of these

Attempted by 61 students.

Show answer & explanation

Correct answer: C

Concept. Let a schema R carrying a set of functional dependencies F be decomposed into fragments R1, R2, …, Rn. Write Fi = πRi(F) for the projection of F onto Ri — every dependency of F+ whose attributes all lie inside Ri. The decomposition is dependency preserving exactly when the fragments together retain the full constraining power of F, that is when (F1 ∪ F2 ∪ … ∪ Fn)+ = F+.

Why the test is on the closure, not on a literal list. Because the condition is stated on closures, an individual X → Y of F need not be written down in any single Fi. It is enough that Armstrong's axioms — reflexivity, augmentation and transitivity — regenerate X → Y from the union of the Fi. So the definition admits two routes for each dependency, and the textbook statement (Elmasri & Navathe) joins them with "either … or".

Applying it to a dependency X → Y of F.

  1. Route one — X and Y sit together inside some fragment Ri and X → Y belongs to that fragment's projected set Fi. The dependency then survives the decomposition verbatim and can be enforced by examining Ri alone, with no join.

  2. Route two — no fragment lists X → Y, yet applying Armstrong's axioms to F1 ∪ … ∪ Fn derives it. Enforcing the retained dependencies then forces X → Y to hold anyway, so nothing is lost.

  3. If every X → Y of F falls under route one or route two, the closures match and the decomposition is dependency preserving. If even one dependency falls under neither, then (F1 ∪ … ∪ Fn)+ is a proper subset of F+ and that constraint can only be re-checked by joining fragments back together.

Worked check, route two in action. Take R(A, B, C) with F = {A → B, B → C, A → C} decomposed into R1(A, B) and R2(B, C). Here F1 = {A → B} and F2 = {B → C}, so A → C is listed by neither fragment; transitivity applied to A → B and B → C recovers it, the closures agree, and the decomposition is dependency preserving.

Contrast — the criterion does have teeth. Take R(A, B, C) with F = {A → B, B → C} decomposed instead into R1(A, C) and R2(B, C). Now F1 = {A → C} and F2 = {B → C}, and no sequence of Armstrong's axioms yields A → B from those two, so the closure is strictly smaller and this decomposition is not dependency preserving.

Contrast with the narrower statements.

  • Demanding literal retention alone would reject the first worked decomposition above, which is dependency preserving even though A → C appears in no fragment.

  • Naming the derivation route alone is technically wide enough — a dependency present in some Fi is trivially derivable from the union — but it drops the direct case that the standard definition states in its own words.

Result. The completion that reproduces the definition is the one asserting that each X → Y of F either appeared directly in one of the relation schemas Ri in the decomposed D, or could be inferred from the dependencies that appear in some Ri.

Explore the full course: Tpsc Assistant Technical Officer

Loading lesson…