2016-06-13 2 views
0

Я работаю над нормализацией базы данных, чтобы сделать ее минимум 3NF, но я не могу продолжать только в последнем.Нормализация базы данных в 3NF или BCNF

Последняя таблица У меня есть следующие ключи. ID, Organization_number и имя. Идентификатор - это первичный ключ. ID может определять ORG_NR и Name, также ORG_NR может определять идентификатор и имя. Я знаю, что это нарушение 3NF. Итак, мои вопросы, что я должен сделать, чтобы сделать это 3NF или даже BCNF.

Если я разделяю его на таблицу, это делает отношение одно к одному.

My table

+0

Что заставляет вас думать, что «что делает отношение один к одному» является проблемой? – philipxy

+0

В любом случае, спасибо за ваш комментарий, теперь я получил свой ответ :) – Alex

ответ

2

Функциональные зависимости определяют ключи кандидатов. Первичный ключ - это просто CK, который вы решили назвать PK. Помимо того, что КК, ПК не играют никакой роли в нормализации. Предположительно, вы знаете, что идентификатор уникален (и {} не является CK), так что это CK, который вы сделали PK. (Но вы должны это сделать.)

Поскольку оба идентификатора {ID} и {ORG_NR} определяют все остальные атрибуты и не имеют меньшего подмножества, они оба являются CK. Предположительно, единственные из них - это те, которые следуют из них. (Но вы должны сделать это ясно.) Поскольку все нетривиальные FK не имеют суперклассов, это в BCNF (&, а также 3NF).

PS Поскольку вы (ошибочно) думаете, что это не в 3NF, найдите определение для 3NF и попытайтесь показать, удовлетворяет ли оно 3NF.

+0

Теперь я понимаю вас, что касается вашего ответа, это означает, что нет необходимости разбивать его на буксировочный стол. Наконец, работа выполнена;) – Alex

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