Relation: x=(d,b,c,f,g,h) Functional dependencies: d→bc,g→hd Decomposed into: a=(d,b,c)Consider relation R(A,B,C,D,E,F,G)
Consider relation R(A,B,C,D,E,F,G) with functional dependencies F = {AD→BF, CD→EGC, BD→F, E→D, F→C, D→F}. After finding the minimal cover, R is decomposed into R1(A,B,C,D,E) and R2(A,D,F,G). Determine whether this decomposition is lossless and dependency preserving.
- A.
Decomposition is lossless and dependency preserving
- B.
Decomposition is lossy and dependency preserving
- C.
Decomposition is lossy and not dependency preserving
- D.
Decomposition is lossless and not dependency preserving
Attempted by 24 students.
Show answer & explanation
Correct answer: D
First reduce the dependencies to a minimal-cover form. Splitting RHS attributes and removing redundant parts gives the useful dependencies:
AD→B, CD→E, CD→G, E→D, F→C, D→F.
Lossless join check:
The decomposed relations are R1(A,B,C,D,E) and R2(A,D,F,G).
Their common attributes are {A,D}.
Compute {A,D}+ using the dependencies:
AD→B gives B.
D→F gives F.
F→C gives C.
Now C and D are available, so CD→E gives E and CD→G gives G.
Thus {A,D}+ = {A,B,C,D,E,F,G}.
Since the common attributes {A,D} determine all attributes, the decomposition is lossless.
Dependency preservation check:
Some dependencies are preserved in the projections, but CD→G is not. C and D are in R1, while G is in R2, and the projected dependencies cannot derive G from CD without joining the relations. Therefore the decomposition is not dependency preserving.
Hence, the decomposition is lossless and not dependency preserving. Option D is correct.