Мне нужна помощь в поиске ключей-кандидатов из данного отношения:
R (A,B,C,D,E) с FD:
A -> BE
B -> BE
B -> D
ШАГИ:
У меня в ответе есть ACD и ABC, но, видимо, это AC. Что я делаю не так?
Хорошо, что вы показываете свою работу, но: цитируйте и ссылайтесь на алгоритм, которому вы следуете, желательно из (хорошего) учебника. Покажите, как вы предоставляете правильный ввод и выполняете его шаги. Четко объясните все свои рассуждения. (Потому что люди делают слишком большие неоправданные загадочные шаги. Как здесь.) PS «идентифицировать себя» не используется правильный технический термин. Также «A, B, C, D, E -> {ABCDE}» не является FD. Мы пишем x->y, где каждый из x и y является набором или атрибутом; атрибут A означает набор {A}. Набор — это смежные атрибуты или фигурные скобки вокруг списка. (Или имена смежных наборов дают их объединение.) Будьте последовательны.
Простое рассуждение состоит в следующем.
A и C должны присутствовать в любом ключе-кандидате, поскольку они никогда не появляются в правой части некоторого FD.
Итак, давайте посмотрим, являются ли они уже ключом-кандидатом, вычислив их замыкание, AC*.
Применяя правила вычисления замыкания набора атрибутов, мы легко можем увидеть, что AC* равен ABCDE, поэтому AC является потенциальным ключом. Единственным другим атрибутом, который появляется в левой части FD, является B, поэтому мы должны проверить, что никакой другой ключ-кандидат не содержит его. Но учитывая, что атрибуты AC должны присутствовать в любом ключе и уже они образуют ключ-кандидат, поэтому добавление к ним любого атрибута дает только суперключи, мы можем сделать вывод, что это единственный ключ-кандидат.
Ваше «у меня есть эти FD» не имеет смысла. «Это все FD, которые имеют место»? — Невозможно. «Это все нетривиальные FD, которые выполняются»? — Невозможно. «Это какие-то FD, которые выдерживают»? — На этот вопрос нельзя ответить. Узнайте, что такое покрытие и каковы точные условия для применения конкретного определения/правила/алгоритма. Чтобы определить CK и NF, нам должны быть заданы FD, которые образуют покрытие. Иногда минимальное/нередуцируемое покрытие. И набор всех атрибутов должен быть задан. Смотрите этот ответ.