The Gateway to Computer Science Excellence
First time here? Checkout the FAQ!
+22 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 (69k points)
edited by | 1.6k views
Is C the right answer?

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

4 Answers

+30 votes
Best answer
A) $\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

B) $\text{False}$. Both are lossless.

C) $\text{True}$. Using this we can always decide between $\text{BCNF}$ & $3NF$.

D) $\text{False}$. Every $\text{BCNF}$ relation is also $3NF$ trivially.


ANswer -> $C$ ( & Only $C$)
answered by Veteran (49.5k points)
edited by
+17 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 (54k points)
edited by
+5 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 (677 points)
+3 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 Boss (6.7k points)

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

34,170 questions
40,846 answers
39,703 users