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
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
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.