- Option (A) is true. If a relation has only two attributes, it will always be in BCNF. This is because, for a relation to violate BCNF, one of the functional dependencies must involve a non-prime attribute as a determinant, and this condition is automatically satisfied in two-attribute relations.
- Option (B) is false. A relation in which all attributes are prime does not necessarily mean it is in BCNF. The BCNF condition is that for every non-trivial functional dependency, the left-hand side must be a superkey. Even if all attributes are prime, if a non-prime attribute determines another non-prime attribute, the relation will not be in BCNF.
- Option (C) is false. Not every relation has at least one non-prime attribute. For instance, if all attributes of the relation are part of the candidate key, then the relation has only prime attributes.
- Option (D) is false. While BCNF decompositions preserve lossless-join and dependency preservation in most cases, they may not always preserve functional dependencies. In some cases, a BCNF decomposition may lose some functional dependencies due to the splitting of relations.
Final Answer: (A)