Создать таблицу для хранения нескольких адресов в postgresql

0

Мне нужно создать таблицу для хранения физического адреса, адреса выставления счета и адреса доставки для клиента/дистрибьютора. Физический адрес всегда будет один для клиента/дистрибьютора, но адрес выставления счета и доставки может быть несколько для конкретного клиента/дистрибьютора. Так,

  1. Должен ли я создать одну таблицу, определив тип адреса (1,2,3) с помощью столбца идентификатора клиента?

  2. или я должен создать три разные таблицы для каждого типа адреса со столбцом идентификатора клиента?

который будет лучшим способом сохранить адрес на будущее.

Теги:
entity-relationship
db2
database-design

1 ответ

1
Лучший ответ

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

Если существует отношение "многие ко многим" (например, один адрес может использоваться многими клиентами или "адрес может использоваться одним клиентом, но для разных типов адресов, например, для выставления счетов и для доставки), то вам нужны две таблицы:

  • Таблица адресов для хранения фактических данных почтового адреса

  • таблица ссылок для хранения отношений, содержащая идентификатор клиента, идентификатор адреса и тип.

  • 0
    Спасибо! Вы имеете в виду таблицу основных данных для хранения фактического почтового адреса?
  • 0
    Да, точно. Потому что это многократно используемый фрагмент данных, не связанный автоматически с каким-либо лицом или организацией напрямую.
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню