Киану
НОРМАЛЬНАЯ ФОРМА BOYCE - CODD (BCNF):
Третья нормальная форма (3NF) не создает проблем для отношений, имеющих единственный ключ-кандидат (первичный ключ). Когда отношение имеет более одного ключа-кандидата, а ключи-кандидаты являются составными, могут возникать перекрывающиеся аномалии. Поэтому улучшенная и лучшая форма Третьей нормальной формы (3NF) называется нормальной формой Бойса-Кодда (BCNF). Его разработали Бойс и Кодд. Нормальная форма Бойса-Кодда определяется как: отношение находится в нормальной форме Бойса-Кодда тогда и только тогда, когда каждый детерминант является ключом-кандидатом.
Если отношение имеет только один ключ-кандидат, тогда 3NF и BCNF эквивалентны. Поэтому для проверки BCNF мы просто определяем все детерминанты и убеждаемся, что они являются ключами-кандидатами. Однако все отношения, которые являются BCNF, также являются 3NF. Например, отношение «Класс» приведено ниже с атрибутами Student-ID, Subject и Instructor.
В отношении «Класс» ни один атрибут не является кандидатным ключом. Другими словами, ни один атрибут не является определяющим для оставшихся двух атрибутов. Следующие могут быть ключами-кандидатами.
(Student-ID, Subject) - один из возможных ключей. (Student-ID, Instructor) - еще один ключ-кандидат. Предположим, мы выбрали (Student-ID, Subject) в качестве первичного ключа для отношения Class. Он представлен как: Класс (Студент-ID, Предмет, Преподаватель) Вышеупомянутая связь находится в 3NF. У него нет частичных функциональных зависимостей и транзитивных зависимостей. Однако аномалии в этом отношении все же есть.