The Gateway to Computer Science Excellence
First time here? Checkout the FAQ!
+25 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
asked in Databases by Veteran (52k points)
edited by | 2.5k views
Is C the right answer?

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

5 Answers

+40 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$).

answered by Boss (41k points)
edited by
+23 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 ..
answered by Veteran (59.7k points)
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.
+8 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.
answered by Junior (639 points)
+5 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

answered by Active (4.7k points)
0 votes

Explain please

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

answered by Junior (787 points)

Related questions

Quick search syntax
tags tag:apple
author user:martin
title title:apple
content content:apple
exclude -tag:apple
force match +apple
views views:100
score score:10
answers answers:2
is accepted isaccepted:true
is closed isclosed:true
49,541 questions
54,084 answers
70,994 users