Consider a schema R(A, B, C, D) and functional dependencies A → B and C → D.…
2012
Consider a schema R(A, B, C, D) and functional dependencies A → B and C → D. Then the decomposition R₁(A, B) and R₂(C, D) is
- A.
Dependency preserving but not lossless join
- B.
Dependency preserving and lossless join
- C.
Lossless Join but not dependency preserving
- D.
Lossless Join
Attempted by 169 students.
Show answer & explanation
Correct answer: A
To determine the properties of the decomposition R₁(A, B) and R₂(C, D), we analyze dependency preservation and lossless join. First, for dependency preservation: the original functional dependencies are A → B and C → D. Since R₁ contains attributes {A, B}, the dependency A → B is directly preserved within R₁. Similarly, R₂ contains {C, D}, preserving C → D. Thus, the decomposition is dependency preserving.\nSecond, for lossless join: a decomposition is lossless if the intersection of the decomposed relations contains a superkey for at least one relation. Here, R₁ ∩ R₂ = ∅ (empty set). Since there are no common attributes between R₁ and R₂, the natural join of R₁ and R₂ will produce a Cartesian product, potentially generating spurious tuples. Therefore, the decomposition is not lossless.\nConsequently, the correct classification is dependency preserving but not lossless join. Option B and D are incorrect because they claim the decomposition is lossless, which contradicts the empty intersection. Option C is wrong as it claims dependency preservation fails.
A video solution is available for this question — log in and enroll to watch it.