Question:

In the context of relational database normalization, which of the following statements is/are true?

Show Hint

A dependency-preserving decomposition can always be constructed up to 3NF using the synthesis algorithm, and anything weaker than 3NF, such as 2NF and 1NF, automatically inherits that guarantee. BCNF is the one normal form where the guarantee can fail, as shown by the classic \(AB \to C\), \(C \to B\) counterexample.
Updated On: Jul 22, 2026
  • It is always possible to obtain a dependency-preserving 3NF decomposition of a relation.
  • It is always possible to obtain a dependency-preserving 1NF decomposition of a relation.
  • It is not always possible to obtain a dependency-preserving BCNF decomposition of a relation.
  • It is not always possible to obtain a dependency-preserving 2NF decomposition of a relation.
Show Solution
collegedunia
Verified By Collegedunia

The Correct Option is A, B, C

Solution and Explanation

Step 1: Recall what dependency preservation means.

A decomposition of a relation \(R\) into sub relations \(R_1, R_2, \ldots, R_n\) is dependency preserving if every functional dependency in the original set \(F\) can be checked using only the projections of \(F\) onto the individual decomposed relations, without ever needing to join the relations back together. Decompositions are also required to be lossless join, but the true/false claims here are about the dependency-preserving property.

Step 2: Check statement (A), about 3NF.

There is a standard synthesis algorithm that begins with a minimal cover of the given functional dependency set \(F\) and creates one relation for each functional dependency in that minimal cover, adding a relation on a candidate key if none of the created relations already contains one. This algorithm is proven to always produce a decomposition that is simultaneously lossless join and dependency preserving, and every relation produced is guaranteed to be in 3NF. So a dependency-preserving 3NF decomposition can always be obtained, and statement (A) is true.

Step 3: Check statement (B), about 1NF.

1NF only requires attribute values to be atomic, which the relational model assumes from the start, so the original relation itself already satisfies 1NF and trivially preserves every dependency in \(F\) since nothing has been removed or split. Equally, the very same 3NF decomposition obtained in Step 2 is automatically in 1NF as well, because 3NF is a strictly stronger condition than 1NF. Either way, a dependency-preserving 1NF decomposition always exists, so statement (B) is true.

Step 4: Check statement (C), about BCNF.

BCNF is stricter than 3NF, and this is exactly where the guarantee from Step 2 breaks down. The standard counterexample is a relation \(R(A,B,C)\) with functional dependencies \(AB \to C\) and \(C \to B\). Here \(R\) violates BCNF because \(C \to B\) has a left-hand side that is not a superkey. Any lossless-join decomposition of \(R\) into BCNF, such as splitting into \(R_1(A,C)\) and \(R_2(B,C)\), loses the ability to verify \(AB \to C\) from the projected relations alone, since \(A\) and \(B\) never appear together in one relation anymore. So this BCNF decomposition is not dependency preserving, which shows a dependency-preserving BCNF decomposition cannot always be found. Statement (C), which claims it is not always possible, is therefore true.

Step 5: Check statement (D), about 2NF.

2NF is weaker than 3NF, meaning every relation in 3NF is automatically also in 2NF. Since Step 2 shows a dependency-preserving 3NF decomposition always exists, that same decomposition also satisfies 2NF for every relation in it. So a dependency-preserving 2NF decomposition is always achievable, which makes statement (D), which claims it is not always possible, false.

Step 6: Conclusion.

Statements (A), (B) and (C) are true, while statement (D) is false.
\[ \boxed{\text{Correct options: (A), (B), (C)}} \]
Was this answer helpful?
0
0

Top GATE CS Databases Questions

View More Questions