Consider a relation R(A, B, C) with functional dependencies {AB,BC,CB}. The…
Consider a relation R(A, B, C) with functional dependencies {AB,BC,CB}. The relation R is decomposed in R1(A, C) and R2(A, B). Which of the following options is CORRECT about R?
Answer: C. lossless but not dependency preserving — Answer: The decomposition is lossless but not dependency preserving. Interpreting the given functional dependencies as A -> B, B -> C, and C -> B:…
- A.
lossless and dependency preserving
- B.
lossy but dependency preserving
- C.
lossless but not dependency preserving
- D.
lossy and not dependency preserving
Attempted by 235 students.
Show answer & explanation
Correct answer: C
Answer: The decomposition is lossless but not dependency preserving.
Interpreting the given functional dependencies as A -> B, B -> C, and C -> B:
Lossless-join check: The common attribute of the two decomposed relations R1(A,C) and R2(A,B) is A. Since A -> B is in the dependency set, A functionally determines the attributes of R2 (A, B). Therefore the intersection A functionally determines one of the components, satisfying the lossless-join condition. Hence the decomposition is lossless.
Dependency preservation check: The original dependencies include B -> C and C -> B. After decomposition, R1 contains (A,C) and R2 contains (A,B). The projected dependencies include A -> C (inferred from A -> B and B -> C) on R1 and A -> B on R2, but neither projection contains B -> C or C -> B directly. These B–C dependencies cannot be enforced by checking only R1 and R2, so the decomposition does not preserve all original dependencies.
Conclusion: lossless but not dependency preserving.