Ответ 1
Ключ-кандидат является минимальным суперключем. Другими словами, в ключе нет лишних атрибутов. Первым шагом к поиску ключа-кандидата является поиск всех суперклеев. Для тех, кто незнакомо, супер-ключ - это набор атрибутов, замыкание которых является набором всех атрибутов. Другими словами, супер-ключ - это набор атрибутов, с которых вы можете начать, и после функциональных зависимостей приведет вас к набору, содержащему каждый атрибут.
Поскольку у нас есть функциональные зависимости: A → B, BC → E, ED → A, мы имеем следующие суперключи:
- ABCDE (Все атрибуты всегда являются супер-ключами)
- BCED (мы можем получить атрибут от A до ED → A)
- ACDE (просто добавьте B через A → B)
- ABCD (просто добавьте E через BC → E)
- ACD (мы можем получить B через A → B, а затем мы можем получить E через BC → E)
- BCD (мы можем получить E через BC → E, а затем A из ED → A)
- CDE (мы можем получить от A до ED → A, а затем B от A → B)
(Один трюк здесь, чтобы понять, состоит в том, что, поскольку C и D никогда не появляются с правой стороны функциональной зависимости, каждый ключ должен включать как C, так и D)
Теперь, когда у нас есть все наши супер-ключи, мы видим, что только последние три являются ключами-кандидатами. Поскольку первые четыре могут быть обрезаны. Но мы не можем отбирать какие-либо атрибуты от трех последних суперклеев и до сих пор остаём их суперклеевыми.
Таким образом, ключи-кандидаты: ACD, BCD и CDE.
Надеюсь, что это поможет,