2014-01-07 5 views
0

У меня есть база данных, имеющая миллионы записей в трех таблицах. Теперь я хочу разбить эти три таблицы в нескольких таблицах, чтобы уменьшить избыточность и дублирование данных.Вопросы проектирования баз данных

Много записей (лиц) имеют несколько городов, адресов, телефонов, факсов.

Так Новые таблицы будет Адрес, , Город , индекс , Государственный , Страна , Телефон , Факс

Мой вопрос, Является ли это нормально, чтобы иметь город, почтовый индекс, область, страна , Телефонные таблицы отдельно или Просто объединить эти таблицы в таблицу адресов?

+0

Это относится к http://dba.stackexchange.com/ – Carth

+0

Чтобы уменьшить избыточность, желательно иметь отдельные таблицы для страны, штата и города. Хотя вы можете объединить почтовые индексы, телефон и адрес в одну таблицу. – AndyN

+0

Я предлагаю сделать их все sepearte как dim.tables и все связанные с fact -table с идентификатором, установленным на dim.tables с бизнес-ключами? –

ответ

1

Вы можете разделить адрес, город, почтовый индекс, страну и страну на отдельную таблицу, поскольку они обычно используются для нескольких записей. Обратите внимание, что это имеет смысл, если вы храните дополнительную информацию для них, например. название и аббревиатура. В противном случае нет смысла иметь отдельную таблицу, например. состояние с одним столбцом для имени состояния.

Что касается телефонных номеров и факсов, они, как правило, не разделяются разными записями, и нет необходимости их разделять.

+0

Согласовано - есть таблица «полного адреса» (только для США и Канады), а также таблица «телефон» (где у вас есть типы - домашний, мобильный, факс и т. Д.). –

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