I am having issues understanding how to determine if relations are in BCNF, 3NF, and in general identifying the candidate keys of a relation.
Consider relation R = (A, B, C, D)
with the functional dependencies:
AB -> C
C -> D
D -> A
The questions included:
a. list the candidate keys of R
b. determine if R is in BCNF or 3NF.
The solution resolves
a. 3 candidate keys for R are AB, BC, and BD.
b. R is in 3NF, but not in BCNF.
I've read through What is the difference between 3NF and BCNF? and can understand the difference between 3NF and BCNF when referring to non-arbituary words within a database schema. I am ultimately lost when trying to determine the relationships with a reduced relation, as given in the problem.
Could someone explain how the candidate keys were determined above, and why R is in 3NF but not BCNF?