12,733 views
10 10 votes

BCNF is not used for cases where a relation has

  1. Two (or more) candidate keys
  2. Two candidate keys and composite
  3. The candidate key overlap
  4. Two mutually exclusive foreign keys

3 Answers

7 7 votes

Answer B)

A) possible for BCNF. As in BCNF in X-> a transition we take all X as super key and it should be in 3 NF

C) possible

Say a relation AB -> CD

                    AC -> BD

                    AD -> BC

All left side are candidate keys and it is in 3NF , So also in BCNF

D) Mutually exclusive foreign keys not a problem for that relational table and also constructing a BCNF

4 4 votes

A Very Poor Question.

The question must ask "When a relation is in 3NF But Not in BCNF" then what must be reason?? In this case, answer will be $C.$

Watch This: https://www.youtube.com/watch?v=HdaHz0iY2ws&t=11809s


Statement $S$: If a relation $R$ is in $3NF$ but not in $BCNF$ then relation $R$ must have at least two overlapped candidate keys.

This statement is TRUE.

So, a 3NF relation is not in BCNF only if there exists at least two candidate keys which are composite & overlapping.

The BCNF differs from the 3NF only when there are more than one candidate keys and the keys are composite and overlapping.


First understand what is "overlapping candidate keys". 

Overlapping Candidate Keys: Two candidate keys $M,N$ are "overlapping" candidate keys if they are cpmposite & not disjoint.

For example, candidate keys $AB, BC$ are overlapping, candidate keys $AB, CD$ are not overlapping. Also, $AB, B$ are Not overlapping candidate keys because we can't have these two as candidate keys simultaneously.

Proof of statement $S$: 

Since $R$ is in 3NF but not in BCNF, So, there is a Non-trivial FD $Y \rightarrow A$ where $A$ is a single attribute & prime, & $Y$ is Non-superkey. & since this FD is non-trivial, so $A \notin Y$. 

Since $A$ is a Prime attribute, So, $A  \in X$ where $X$ is a candidate key. 

Note that $X$ is a Composite CK (because If Not then $X = A$ & then $Y$ will become SK, which is a Contradiction.)

So, $X = ZA$ where $Z$ is a Nonempty set of attributes.

Now, we know that $YZ$ will be a SK because $YZ \rightarrow AZ.$ 

So, $YZ$ is a SK. 

We know, Every superkey is a superset of some candidate key.

So, $YZ$ has a subset which is a CK.. But this subset must have at least one attribute from $Z$ as well as at least one attribute from $Y$ because $Y$ is Not a SK & $Z$ is Not a SK. 

So, $YZ$ has a subset $H$ which is a CK, & $H$ contains at least one attribute of $Z$ & at least one attribute of $Y$. 

So, Now we have two candidate keys $H, X$ which are overlapping & composite (Overlapping because of an attribute of $Z$)

Hence Proved.


Another Easy to understand proof (But not a clever proof like the above) is to consider the following cases for Contradiction:

1. No Composite Key

2. Single Composite Key

3. Multiple Composite Keys But None Overlapping.. 

In all 3 cases, we get some contradiction for "3NF But Not in BCNF"..

So, we can say that we must have at least two Overlapping candidate keys.


Useful Videos:

GATE 2020 Question: 3NF But Not in BCNF

4 Times in GATE: Relation with 2 attributes is Always in BCNF.

Misconception in "3NF But Not BCNF": Misconception in Normal Forms

Normalization Complete Playlist: Complete Normalization & All GATE PYQs

DBMS Complete Summary & GATE PYQs: DBMS Summary & GATE PYQs

edited by
1 1 vote
bcnf is not used meaning... relation can never be in bcnf if this criteria holds..

for A) B) C) we can make numerous examples that can be bcnf....and also numerous examples that can't be..

for D) relation(synonymous to table) has 2 mutually exclusive foreign keys meaning...

say R(abcdef) here a is key...d,f are referring to a ; so both of them are f.key.  now as they are mutually exclusive we always have d-->f which is   non-key ---> non-key

so this can't ever be a bcnf..
Answer:
Position:
Show:

Related questions

8 8 votes
3 answers 3 answers
3.4k
3.4k views
go_editor asked Jun 10, 2016
3,357 views
Armstrong’s inference rule doesnot determineReflexivityAugmentationTransitivityMutual dependency
61 61 votes
5 answers 5 answers
14.4k
14.4k views
Kathleen asked Sep 17, 2014
14,390 views
A program consists of two modules executed sequentially. Let $f_1(t)$ and $f_2(t)$ respectively denote the probability density functions of time taken to execute the two ...
6 6 votes
3 answers 3 answers
9.4k
9.4k views
go_editor asked Jun 10, 2016
9,366 views
Which of the following is correct with respect to Two phase commit protocol?Ensures serializabilityPrevents DeadlockDetects DeadlockRecover from Deadlock
10 10 votes
5 answers 5 answers
6.2k
6.2k views
go_editor asked Jun 10, 2016
6,195 views
Which operation is used to extract specified columns from a table?ProjectJoinExtractSubstitute