in Databases edited by
40 votes

Relation $R$ is decomposed using a set of functional dependencies, $F$, and relation $S$ is decomposed using another set of functional dependencies, $G$. One decomposition is definitely $\text{BCNF}$, the other is definitely $3NF$, but it is not known which is which. To make a guaranteed identification, which one of the following tests should be used on the decompositions? (Assume that the closures of $F$ and $G$ are available).

  1. Dependency-preservation
  2. Lossless-join
  3. $\text{BCNF}$ definition
  4. $3NF$ definition
in Databases edited by


Is C the right answer?

As BCNF means it's already in 3NF but not the vice-versa

This is because the relation whose highest normal form is 3NF will fail the BCNF test, but both will pass the 3NF test.



Subscribe to GO Classes for GATE CSE 2022

5 Answers

60 votes
Best answer
  1. $\text{False}$.  $\text{BCNF}$ may or may not satisfy Dependency preservation, $3NF$ always does. But we can't make any guaranteed decision, regarding $\text{BCNF}$ if it satisfies Dependency preservation
  2. $\text{False}$. Both are lossless.
  3. $\text{True}$. Using this we can always decide between $\text{BCNF}$ & $3NF$.
  4. $\text{False}$. Every $\text{BCNF}$ relation is also $3NF$ trivially.

Answer -> $C$ ( & Only $C$).

edited by
25 votes
A. dependency preservation.
in 3NF Dependency always preserved but in BCNF it  may or may not be preserved.
For a particular set of FDs it may not differentiate BCNF and 3NF.

B.Lossless  join always possible in both BCNF as well as 3NF.

D. 3NF definition also unable to differentiate BCNF & 3NF bcoz every BCNF is trivially 3NF.

C. every 3NF which is not BCNF fails BCNF Definition so it may used to differentiate which is BCNF & which is 3NF ..
edited by


In Question, it is given that other is definitely 3NF.Then it may or may not be BCNF.

In case if other decomposition is 3NF but not BCNF, BCNF Definition ables to identify which decomposition is 3NF and which one is BCNF.

But in case if other Decomposition is both 3NF and BCNF then BCNF definition unable to identify which decomposition is BCNF and which one is 3NF.

So how C is the Answer ? If it is the second case then C option also fails.
I thought about this too, but it is given in the question that one relation is definitely BCNF and one is definitely 3NF. Therefore, both cannot be BCNF. So the BCNF test will be sufficient.
10 votes
Option (C) . Since it is given that out of F and G, one is 3NF and other is BCNF then clearly we can apply BCNF defintion to differentiate between F and G.

Option (D) is useless as 3NF defintion will be satisfied by both the Functional Dependencies sets.

Option (A) and Option (B) are not the criteria to decide about BCNF and 3NF. They are criteria for Relation decomposition.

Eventhough Decompostion has been used here and some give Option (A) Dependency Preservation as answer but I will go with BCNF defintion as the distinguishing factor.
6 votes

BCNF may or may not preserve dependency preservation. 3NF satisfy dependency preservation. Both BCNF and 3NF are Lossless join decomposition. So we BCNF definition is required.

Answer is C. BCNF definition

0 votes

Explain please

3NF Dependency always preserved but in BCNF it  may or may not be preserved. 


Related questions