Question

    Which of the following scenarios violates Boyce-Codd

    Normal Form (BCNF) in a relational schema?
    A A table where each non-key attribute is dependent on the primary key. Correct Answer Incorrect Answer
    B A table where a non-prime attribute depends on a part of a composite key Correct Answer Incorrect Answer
    C A table where a non-prime attribute determines another non-prime attribute Correct Answer Incorrect Answer
    D A table where a candidate key determines another candidate key. Correct Answer Incorrect Answer
    E A table where all attributes are functionally dependent on a candidate key. Correct Answer Incorrect Answer

    Solution

    BCNF is a stricter version of 3NF. A table is in BCNF if, for every functional dependency X→YX , X is a superkey. If a candidate key determines another candidate key, it creates redundancy and violates BCNF. For instance, consider a table where StudentID and CourseID are candidate keys, but CourseID determines StudentID. This means there are multiple possible combinations leading to redundancy. Why Other Options Are Incorrect:

    • Option A: This scenario adheres to both 3NF and BCNF, as all non-key attributes depend only on the primary key.
    • Option B: This violates 2NF due to partial dependency but does not directly address BCNF.
    • Option C: This violates 3NF by allowing transitive dependency but does not necessarily violate BCNF.
    • Option E: This statement is a valid condition for both 3NF and BCNF.

    Practice Next