Скажем, у меня есть реляционная схема R(A,B,C,D,E)
и одна функциональная зависимость A->BCDE
. Поскольку замыкание A
равно ABCDE
(т. е. каждому атрибуту), это суперключ; поскольку это наименьший ключ, не содержащий другого ключа, он также является ключом-кандидатом.
Что, если мы затем добавим FD B->A
— означает ли это, что B
является ключом-кандидатом, или это означает, что A
больше не является ключом-кандидатом?
Мой наставник работал над примером и сказал, что способ определить ключи-кандидаты из набора FD состоит в том, чтобы найти любой атрибут, который не появляется в правой части любого FD (т. е. любой (набор) атрибутов, который не соответствует действительности). не подразумевается никакими другими атрибутами). Обязательно ли это так? Если атрибут подразумевает все остальные, но сам подразумевается некоторым другим набором атрибутов, может ли он быть ключом-кандидатом?