Finding candidate keys from given relations
This article describes how canditate keys are derived from a given relation.
http://en.wikipedia.org/wiki/Candidate_key.
Also take a look at: candidate keys from functional dependencies
functional-dependencies.
This is also a good one, I think:
http://www.cs.newpaltz.edu/~pletcha/BuildingCandidateKeys.html.
so it's basically:
A => B(first case):
ED => A
BC => E
Because C and D dont depend in any fd, obviously CD is a part of every candiate key.
ACD, BCD, CDE
The second:
D => B
AB => D
AB => C
C=> A
All singles depend in one of the fd, so none of them is included in all candiate keys.
A depends not on D and not on B, neither explicit nor implicit. SO AD and AB is one
candiate key. B doesn't depend on C and A, therefor AB and BC. C doesn't depend on D,
therefor CD.
AB, BC, CD, AD
this one is also usefull: http://csc.lsu.edu/~jianhua/fd_slide2_09.pdf