We've been told that the FD are:
A->B
B->C
C->A
But with the transitive rule, since A->B
and B->C
this also means:
A->C
I worked out that:
A->BC
is true, since A->B
and A->C
are FD. I can split A->BC
to A->B
, A->C
with the splitting rule
C->AB
is true, since C->A
and due to transit rule: C->B
is true (where C->A
, A->B
means C->B
)
Can someone tell me the correct answer and why my answer is wrong. I can't get my head round the given answer.
The discussion of why your answer is wrong can be found in the comments.
The correct answer is #4: only in this answer A
, B
and C
are superkeys as in the original set of functional dependencies. In #1 A
is not a superkey (e.g., A -> B
does not hold), in #3 C
is not a superkey (e.g., C -> B
does not hold).