Поиск ключей-кандидатов отношения с использованием FD

Я определенно проверил много разных связанных сообщений, как было предложено при создании этого вопроса. Я также сделал различные примеры задач из онлайн-источников, а также из аналогичной задачи. Тем не менее, я застрял в проблеме ниже.

Учитывая следующее отношение R и набор функциональных зависимостей S, которые относятся к R, найдите все ключи-кандидаты для R. Покажите свою работу.

R(A, B, C, D, E, F)
S:
AB → C

AC → B

AD → E

BC → A

E → F

Первоначально я разбил атрибуты на группы: атрибуты, встречающиеся только слева, только справа и с обеих сторон (это D, ABCE и F соответственно). Я также знаю, что должен попытаться вычислить замыкание D. Здесь я застреваю. На первый взгляд кажется, что я не могу решить эту проблему, что не так. Я также пытался вычислить замыкания (AD), (BD), (CD) и (ED), потому что думал, что замыкание D = D. Есть мысли?


comment
Я голосую за то, чтобы закрыть этот вопрос как не по теме, потому что он выглядит как домашняя работа по CS, а не практическая проблема программирования. cs.stackexchange.com может быть лучшим местом для этого.   -  person Barmar    schedule 12.03.2015
comment
Я понимаю, однако было много подобных вопросов, которые не были закрыты по этой причине. Они также получили довольно хорошие ответы.   -  person RBG    schedule 12.03.2015
comment
Какое определение CK в терминах FD вам дали и какую процедуру найти CK из FD вам дали?   -  person philipxy    schedule 22.03.2015


Ответы (1)


Ключами здесь являются ABD, ACD и BCD.

Вы были на правильном пути. После разделения атрибутов на три группы атрибуты в списке только слева всегда являются частью ключа. Здесь этим атрибутом является D.

"Я также пытался вычислить замыкания (AD), (BD), (CD) и (ED)"

Поскольку вы не могли определить ключ, взяв атрибуты в группы по 2, вам следовало попытаться создать группу из 3 атрибутов и проверить их закрытие.

person Karup    schedule 25.06.2015