Как определить ключ-кандидат по функциональным зависимостям в теории реляционных баз данных

Рассмотрим отношение базы данных студенческих записей следующим образом: Студент (I, G, P, M, S, Y, E, L, R, C)

(а) Покажите, как получить два ключа-кандидата для ученика, или объясните, почему вы не можете этого сделать.

(б) В какой нормальной форме находится ученик? Покажите работу, которая оправдывает ваш ответ.

(c) Если бы F содержал MSY→LRCE вместо PMSY→LRCE, что бы это значило в отношении названий бумаги? (т.е. значения М)

(d) Найдите минимальное покрытие (т. е. неприводимый набор функциональных зависимостей) для ученика.

(e) Найти разложение Стьюдента в третью нормальную форму (3NF).


Я застрял на первом вопросе о ключе кандидата. Я знаю, что ключи-кандидаты должны быть подмножеством (I,P,M,S,Y,L,R), так как они появляются в левой части функциональных зависимостей выше и определяют все остальные атрибуты. Мы можем удалить M, который определяется P, но затем я был немного озадачен тем, как сделать эти атрибуты минимальными, особенно из сложных функциональных зависимостей, таких как PMSY→LRCE. Спасибо за любое решение и предложения.

1 ответ

Я не буду делать вашу домашнюю работу, но в качестве подсказки (а);

F:IGPMSYELRC->IGPMSYELRC

всегда держит. Благодаря F:P->M вы можете удалить M и получить

F:IGPSYELRC->IGPMSYELRC

теперь подать заявку F:R->C получить

F:IGPSYELR->IGPMSYELRC .

Повторяйте это, пока вы не сможете удалить какие-либо атрибуты с левой стороны. Тогда вы получили ключ кандидата.

С разными перестановками F это может привести к другим кандидатам ключей.

Другие вопросы по тегам