Let us examine each option using standard results from database normalization and BCNF.
Option (A) – True:
Any relation with only two attributes is always in BCNF.
This is because any non-trivial functional dependency between two attributes will necessarily have one attribute determining the other, making the determinant a candidate key. Hence, the BCNF condition (every determinant is a superkey) is automatically satisfied. Therefore, option (A) is true.
Option (B) – False:
Having all attributes as prime attributes does not guarantee that a relation is in BCNF.
BCNF requires that for every non-trivial functional dependency \( X \rightarrow Y \), the set \( X \) must be a superkey. Even if all attributes are prime, a functional dependency may still violate BCNF if the determinant is not a superkey. Hence, this statement is false.
Option (C) – False:
It is not necessary for every relation to have at least one non-prime attribute.
If all attributes of a relation participate in some candidate key, then all attributes are prime. Such relations do exist. Therefore, this statement is false.
Option (D) – False:
Although BCNF decomposition always guarantees a lossless-join decomposition, it does not necessarily preserve all functional dependencies.
There are well-known cases where decomposing a relation into BCNF results in the loss of some dependencies. Hence, this statement is false.
Final Answer: (A)