База данных - функциональная зависимость и ключи-кандидаты

У меня возникла большая проблема, когда я цепляюсь за функциональные зависимости и клавиши-кандидаты. В настоящее время я делаю проект, в котором я должен определить "два" ключа-кандидата и иметь только четыре функциональные зависимости. Все мои отношения таковы:

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 сформирован неправильно.