Как найти все возможные ключи-кандидаты из набора суперключей?
Суперключи одного примера выглядят следующим образом: ABCF CDF ACDF BCDF ABCDF ABCEF CDEF ACDEF BCDEF ABCDEF
Вывод, который содержит все возможные ключи-кандидаты: ABCF CDF
В приведенном выше примере, как вы получаете возможные ключи-ключи, выводимые из этого набора суперключей? Я не понимаю, как получить такой результат, пожалуйста, помогите.
1 ответ
Очень простой алгоритм поиска всех ключей-кандидатов из набора всех возможных ключей и суперключей заключается в следующем (в псевдокоде):
Input: A set SK of all the (candidate keys and) superkeys of a relation R
Output: The set K of all the candidate keys of SK
Let K = SK
For each k in K do:
Remove all the keys sk in K such that k is a proper subset of sk
В конце цикла, набор K
будет содержать ожидаемый результат.