2014-10-30 1 views
3

Если я иметь следующее соотношение R = (A, B, C, D)Нормализация 3NF и BCNF

И функциональные зависимости:

  • A -> B, B -> A, ЦКБ -> A, CDA - ключи> B

кандидата являются CDA и CDB.

Третья нормальная форма говорит, что не может быть функциональной зависимости между атрибутами, отличными от простого. Атрибут non-prime - это атрибут, который не встречается в одном из ключей-кандидатов. Тогда это означает, что это отношение уже есть 3NF, так как оба A и B, которые зависят друг от друга, являются частью одного из ключей-кандидатов, правильно?

Если это так, у меня есть еще один вопрос о BCNF. BCNF говорит, что каждый детерминант должен быть ключом кандидата. В этом случае A и B не являются ключами-кандидатами, так что это нарушает BCNF, или я что-то здесь не вижу?

Спасибо.

+0

Поскольку это не проблема кода, и более теоретическая, ее можно лучше спросить на http://programmers.stackexchange.com –

ответ

4

Если три FD, которые вы указали, должны быть канонической крышкой FD, удовлетворенной R, тогда вы правы, чтобы сделать вывод, что CDA и CDB должны быть ключами-кандидатами. (Вы не указали, что FD являются каноническими, а если нет, то есть другие способы удовлетворения тех же зависимостей, но я предполагаю, что цель вопроса заключается в том, что ключи-кандидаты должны быть выведены только из того, что вам дано.)

Если CDA и CDB фактически являются ключами-кандидатами R, тогда вы правы, что R удовлетворяет 3NF, но не BCNF.

 Смежные вопросы

  • Нет связанных вопросов^_^