The Gateway to Computer Science Excellence
+31 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 by Veteran (52.2k points)
edited by | 3k views
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.


5 Answers

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

by Boss (41.9k 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 ..
by Veteran (60.8k 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.
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.
+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.
by Junior (641 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

by Active (4.8k points)
0 votes

Explain please

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

by Junior (849 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
50,737 questions
57,292 answers
104,906 users