Создать таблицу для хранения нескольких адресов в postgresql - PullRequest
0 голосов
/ 18 декабря 2018

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

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

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

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

1 Ответ

0 голосов
/ 18 декабря 2018

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

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

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

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

...