2016-11-07 5 views
0

Я хотел бы, чтобы эти таблицы соответствуют подходу Inmons 3NF (им работать на базе Northwind):Это изменение соответствует 3NF в базе данных Northwind?

Before

Я заметил, что адрес не устает повторять, и его не своего рода даже атомное, так что я решил поставить еще таблица на диаграмме называется «Адрес», как это:

After

Является ли это обоснованный подход? Как адрес Address хранит все адреса в любом случае, я могу поделиться ими для всех других таблиц?

Благодаря

ответ

0

Ваше решение справедливо и определенно более нормализуется.

Однако, это еще не 3NF. Строго говоря, для таблицы, которая должна быть в 3NF, у вас не должно быть никаких неявных взаимозависимостей. В вашем примере есть такие зависимости, например, между городом и страной. Поэтому каждый раз, когда кто-то входит в Париж, им также нужно въезжать во Францию. Это может привести к аномалиям, если кто-то случайно попадет в Париж, Германия. Для 3NF вам нужно будет создать дополнительную таблицу City, в которой хранятся города и их страны. Город будет ключевым, страной - нецелевым атрибутом. Адресная таблица будет иметь иностранный ключ для города. Для краткости я опущен почтовый индекс и регион, но они также должны быть включены в нормализацию. Итак, для создания этого 3NF вам понадобится еще несколько объектов.

Эта сложность в том, почему звездная схема Кимбалла более популярна, чем подход 3NF от Inmon ...

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

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