The Gateway to Computer Science Excellence
+6 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
in Databases by | 3.6k views

2 Answers

+5 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

what is the issue for B?
Candidate keys are composite

then there is a chance of partial dependency

if partial dependency is there , then relation is not in 2NF
Candidate keys are composite then there is a chance of partial dependency; It is okay. If there is no partial dependency then no problem to take composite key as case for BCNF. So I think except D option all are cases for BCNF.

What about the option D, I am not getting meaning of this?

Composite Key is a key which is combination of more than one field or column of a given table. It can be a Candidate key, Primary key. So, a table with combination of its primary key and candidate key can be called as composite key.

Let R(A,B,C,D)

AB->CD and AC->BD. These keys are composite as well as candidate and the relation is in BCNF.

I think the answer must be d by option elimination but i don't really get the meaning of it.

only the question setter can answer this :O
I think C is more correct than B because overlap between keys can happen only when they are composite.

Ex- $AB\rightarrow C$, $C\rightarrow B $. Here both $AB$ and $AC$ are keys, they overlap in A, and this relation is not in BCNF.
if this is so , then even A is wrong, btw  if both AB and AC are both candidate key imples prime attributes are {A,B,C} so what restricts it not to be in BCNF
Yes C is more stricter than B
0 votes
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..
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
52,345 questions
60,484 answers
95,289 users