База данных - функциональная зависимость и ключи-кандидаты
У меня возникла большая проблема, когда я цепляюсь за функциональные зависимости и клавиши-кандидаты. В настоящее время я делаю проект, в котором я должен определить "два" ключа-кандидата и иметь только четыре функциональные зависимости. Все мои отношения таковы:
R(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W)
И мои функциональные зависимости:
B -> A,C,D,G
M -> K,L,N
W -> R,T,S
BH -> Q,P,O,U,I,V,J,K,L,M,E,F,W
Поэтому я разработал свой ключ-кандидат следующим образом:
[BH]
Тем не менее, мне нужно иметь второй ключ-кандидат, когда я не могу, поскольку я попробовал все возможные решения, и ни одно из них не соответствует всем атрибутам. Я смотрел много видео в Интернете, но я все еще в замешательстве. Почему я не могу получить ключ второго кандидата, потому что я сделал это неправильно?
Спасибо,
Киран
1 ответ
Для данного набора функциональных зависимостей {B,H} - единственный возможный ключ-кандидат. Как B
а также H
являются единственными атрибутами, которые появляются только в левой части данных FD, и там замыкание (BH-замыкание) дает все атрибуты отношения R.
Если вам необходимо найти два возможных ключа, то, вероятно, данный набор FD сформирован неправильно.