Например, в дизайне реляционной базы данных есть схема S (банкир, bname, клиент) и функциональные зависимости (FD).
банкир->bname клиент,bname->банкир
Находится ли схема S в BCNF? Или это должно быть: (banker, bname) и (customer, banker)
Например, в дизайне реляционной базы данных есть схема S (банкир, bname, клиент) и функциональные зависимости (FD).
банкир->bname клиент,bname->банкир
Находится ли схема S в BCNF? Или это должно быть: (banker, bname) и (customer, banker)
Я не думаю, что «S» находится в BCNF. Вот неофициальное определение BCNF, данное Крисом Дейтом.
Релвар находится в НФБК тогда и только тогда, когда единственными детерминантами являются ключи-кандидаты. (Введение в системы баз данных, 7-е изд., стр. 367)
Термин детерминант означает левую часть функциональной зависимости. Если существует функциональная зависимость, левая часть которой не является ключом-кандидатом, то отношение не находится в НФБК.
Давайте перепишем ваш пример в традиционных обозначениях.
R{ABC}
A->B
BC->A
Есть два ключа-кандидата: AC и BC. Левая часть A->B не является ключом-кандидатом. Так что R не находится в BCNF.
Или это должно быть: (banker, bname) и (customer, banker)
Нет. Ваши функциональные зависимости совершенно ясно говорят, что клиент не определяет банкира.
Я думаю, что должно быть (banker, bname) и (customer, banker). Для меня это больше похоже на отношение внешнего ключа.