Lossless Join Property:
A decomposition is considered lossless if we can reconstruct the original relation by natural joining the decomposed relations without any loss of information(i.e. without any addition of spurious tuples).
The criterion for a decomposition \( R \) into \( R_1 \) and \( R_2 \) to be lossless is:
\( R_1 \cap R_2 \) must be a superkey for either \( R_1 \) or \( R_2 \).
In this case, \( R_1(M, N) \) and \( R_2(P, Q) \) have no common attributes (i.e., \( R_1 \cap R_2 = \emptyset \)). Therefore, the decomposition cannot be lossless, as there is no common attribute to act as a key in either \( R_1 \) or \( R_2 \).
Dependency Preserving Property:
A decomposition is considered dependency preserving if all functional dependencies of the original relation can be enforced in the decomposed relations without requiring a join of the decomposed relations.
The given functional dependencies are:
1. \( M \to N \)
2. \( P \to Q \)
In \( R_1(M, N) \), the dependency \( M \to N \) can be enforced.
In \( R_2(P, Q) \), the dependency \( P \to Q \) can be enforced.
Since each dependency can be enforced in one of the decomposed relations, the decomposition preserves dependencies.
In short,
The decomposition of \( R \) into \( R_1(M, N) \) and \( R_2(P, Q) \) is:
Dependency preserving but not lossless join.
Option A is Correct
Dependency preserving but not lossless join.
Suggestion Note:
The criterion that for a decomposition \( R \) into \( R_1 \) and \( R_2 \) to be lossless, \( R_1 \cap R_2 \) must be a superkey for either \( R_1 \) or \( R_2 \), should only be used to check binary decompositions. For non-binary decompositions, the Chase Test is a more suitable method.