Как определить ключ-кандидат по функциональным зависимостям в теории реляционных баз данных
Рассмотрим отношение базы данных студенческих записей следующим образом: Студент (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
это может привести к другим кандидатам ключей.