ISRO | ISRO CS 2014 | Question 22
Consider the schema R(A, B, C, D) and the functional dependencies A->B and C->D. If the decomposition is made as R1(A,B) and R2(C,D), then which of the following is TRUE?
(A) Preserves dependency but cannot perform lossless join
(B) Preserves dependency and performs lossless join
(C) Does not perform dependency and cannot perform lossless join
(D) Does not preserve dependency but perform lossless join
Answer: (A)
Explanation:
schema: R(A, B, C, D) functional dependencies: A->B and C->D Decomposed Schema: R1(A,B) and R2(C,D)
Check for dependency preserving:
A decomposition is said to be dependency preserving if F+ = (F1 ∪ F2 ∪ .. Fn)+,where F+ = total functional dependencies(FDs) on universal relation R, and F1 = set of FDs of R1, F2 = set of FDs of R2 and so on.
R1(A,B) A->B is covered R2(C,D) C->D is covered.
Both the functional dependencies are covered, so FD preserving.
Check for lossless join:
Decomposition of R into R1 and R2 is a lossless-join decomposition if at least one of the following functional dependencies are in F+
R1 ∩ R2 -> R1 R1 ∩ R2 -> R2
Here, R1(A,B) ∩ R2(C,D) = null
So, it can not perform a lossless join.
Option (A) is correct.
Quiz of this Question