Мне нужно создать таблицу для хранения физического адреса, адреса выставления счета и адреса доставки для клиента/дистрибьютора. Физический адрес всегда будет один для клиента/дистрибьютора, но адрес выставления счета и доставки может быть несколько для конкретного клиента/дистрибьютора. Так,
Должен ли я создать одну таблицу, определив тип адреса (1,2,3) с помощью столбца идентификатора клиента?
или я должен создать три разные таблицы для каждого типа адреса со столбцом идентификатора клиента?
который будет лучшим способом сохранить адрес на будущее.
Всегда вариант 1. Все, что связано с созданием нескольких таблиц, в которых хранится информация одного и того же типа, приводит к ненормировке структуры данных.
Если существует отношение "многие ко многим" (например, один адрес может использоваться многими клиентами или "адрес может использоваться одним клиентом, но для разных типов адресов, например, для выставления счетов и для доставки), то вам нужны две таблицы:
Таблица адресов для хранения фактических данных почтового адреса
таблица ссылок для хранения отношений, содержащая идентификатор клиента, идентификатор адреса и тип.