Which normal form is it in? — Aptitude Question
Which normal form is it in?: A relation R(A, B, C, D) has A as its only candidate key, with the functional… Answer and worked solution on CodeKairo.
- Topic: OS, DBMS & Networks
- Section: Programming MCQs
- Difficulty: Medium
- Time target: 105 seconds
Question
A relation R(A, B, C, D) has A as its only candidate key, with the functional dependencies A → B, B → C and A → D. What is the highest normal form R satisfies?
Options
- 1NF but not 2NF
- 2NF but not 3NF
- 3NF but not BCNF
- BCNF
Show the answer and the worked solution
Correct answer: B. 2NF but not 3NF
Worked solution
- The key A is a single attribute, so no non-key attribute can depend on part of the key; the relation is automatically in 2NF.
- The dependency B → C has a determinant, B, that is not a superkey, and C belongs to no candidate key.
- That is a transitive dependency A → B → C, which 3NF forbids, so R is in 2NF but not 3NF.
Answer: 2NF but not 3NF.
The idea
2NF is about partial dependencies on part of a composite key, 3NF about transitive dependencies through a non-key attribute, and BCNF about any determinant that is not a superkey. A single-attribute key gives 2NF for free.
Shortcut. Look for a non-key attribute determining another non-key attribute: B → C is one, so 3NF fails; 2NF can fail only through part of a composite key, and A stands alone.
Common trap. "3NF but not BCNF" treats B → C as only a BCNF violation, but 3NF's exemption needs a prime attribute on the right, and C is not prime.