The symbol \(\to\) indicates functional dependency in the context of a relational database. Which of the following options is/are TRUE?
Answer
(B), (C), (D)
Explanation
- A is false. The left side of a dependency cannot just be shrunk. In a relation with the tuples \((X, Y, Z, W) = (0, 0, 0, 0)\) and \((0, 1, 1, 1)\), \((X, Y) \to (Z, W)\) holds because the tuples differ on \((X, Y)\), but \(X \to (Z, W)\) fails.
- B is true by decomposition: whatever determines \((Z, W)\) also determines \(Z\).
- C is true (pseudo-transitivity). Augmenting \(W \to Y\) with \(X\) gives \((X, W) \to (X, Y)\), and with \((X, Y) \to Z\) this yields \((X, W) \to Z\).
- D is true by transitivity, one of Armstrong’s axioms.
Answer: B, C, D