Использовать алгоритм;
1. Возьмите любой атрибут или набор атрибутов
Например: ACD
2. Возьмите первую упомянутую функциональную зависимость
Например: A -> B
3. Является ли L.H.S зависимости подмножеством атрибутов, выбранных вами на шаге 1?
Если да, добавьте R.H.S функциональной зависимости к атрибуту.
Если нет, игнорируйте эту функциональную зависимость.
Например: A является подмножеством ACD. Поэтому добавьте B в ACD. ACD теперь ABCD
4. Теперь перейдите к следующей функциональной зависимости. Повторите шаг 3.
Например: BC -> E
BC является подмножеством ABCD. Итак, ABCD теперь ABCDE
5. Если у вас есть все атрибуты сейчас, вы можете остановиться.
Если у вас нет всех атрибутов, продолжайте переходить к следующей функциональной зависимости и повторите шаг 3. Если вы достигли последней функциональной зависимости и не имеете всех атрибутов, вернитесь к первой функциональной зависимости и повторите шаги 3 и 4. Продолжайте цикл в этом цикле, пока набор ваших атрибутов не изменится, независимо от функциональной зависимости, с которой вы повторяете шаг 3.
Например: поскольку у меня есть ABCDE для набора атрибутов ACD, я могу остановиться.
Если у вас есть все атрибуты, у вас есть суперключ.
Например: ACD - это суперключ, потому что у меня есть ABCDE.