Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

How do you know when you found all the candidate keys in a functional dependency?

I know how i would go about finding a candidate key, just don't know how to tell if there are more.


share|improve this question
A candidate key is just a key that could be a primary key correct? So a candidate key is any key that could be used as a primary key. If you wanted to find a candidate key, you would just identify any field in a table that will only contain unique values. – Craig Efrein Nov 30 '11 at 6:57
@Craig Efrein: oene has to check all sets of fields. this number grows exponential with the numbers of filesds. Also I think the OP wants to deduce all candidate keys from a set of functional dependencies. – miracle173 Jan 1 '13 at 19:36

If you're talking about identifying candidate keys for relational synthesis you need to know the dependencies. If you have the functional dependencies you can use the relational synthesis algorithm; a synopsis of which can be found here.

Note, if this is a homework question please mark it as such in the tags.

share|improve this answer
Thats a nice document for testing lossless and dependency, but doesn't show how to test for all candidate keys. – Matt Dec 2 '11 at 8:19
Try doing a google search for "relational synthesis algorithm" and see if you can find anything useful. – ConcernedOfTunbridgeWells Dec 2 '11 at 9:32

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.