Я новичок в управлении базами данных, и на этот вопрос никогда не ответят более чем на одно предложение. Все остальные ответы SO говорят: "Ключ-кандидат - это минимальный супер-ключ". Для меня это ничего не значит.
Ключ-кандидат должен указывать уникальность записи db, правильно? Первичный ключ - это ключ-кандидат. Если первичный ключ уже указывает уникальность, то какая точка добавления дополнительных ключей-кандидатов?
Я видел примеры, подобные следующим:
Сотрудник (идентификатор, имя, номер телефона)
где ID - первичный ключ, а PhoneNumber - это ключ-кандидат. Из того, что я вижу, идентификатора достаточно, чтобы указать уникальность записи сотрудника. Хотя PhoneNumbers (возможно) уникальны, указание их в качестве ключа-кандидата не кажется мне "минимальным".