Which of the following is TRUE?
2012
Which of the following is TRUE?
- A.
Every relation in 3NF is also in BCNF
- B.
A relation R is in 3NF if every non-prime attribute of R is fully functionally dependent on every key of R
- C.
Every relation in BCNF is also in 3NF
- D.
No relation can be in both BCNF and 3NF
Attempted by 427 students.
Show answer & explanation
Correct answer: C
Answer: Every relation in BCNF is also in 3NF.
BCNF condition: For every non-trivial functional dependency X -> A, X must be a superkey of the relation.
3NF condition: For every non-trivial functional dependency X -> A, either X is a superkey or A is a prime attribute (part of some candidate key).
Why BCNF implies 3NF: If every non-trivial dependency has a superkey on the left (BCNF), then the 3NF requirement is automatically met because one of 3NF's allowed conditions is that the left side is a superkey.
Why 3NF does not imply BCNF (counterexample): Consider a relation with attributes A, B, C and functional dependencies AB -> C and C -> B. The candidate keys are AB and AC, so every attribute is prime. The dependency C -> B has a non-superkey on the left, so BCNF is violated, but because B is a prime attribute the 3NF condition is satisfied. This shows a relation can be in 3NF but not in BCNF.
Statement "Every relation in 3NF is also in BCNF": False. 3NF is weaker than BCNF; counterexamples exist.
Statement "A relation R is in 3NF if every non-prime attribute of R is fully functionally dependent on every key of R": False. This describes 2NF/partial dependency ideas; 3NF uses the condition about superkeys or prime attributes.
Statement "Every relation in BCNF is also in 3NF": True. BCNF's stronger requirement meets 3NF's conditions.
Statement "No relation can be in both BCNF and 3NF": False. Relations can satisfy both; in fact any BCNF relation satisfies 3NF.
A video solution is available for this question — log in and enroll to watch it.