Каждый Customer
имеет физический адрес и необязательный почтовый адрес. Каков ваш предпочтительный способ моделирования этого?
Вариант 1. Customer
имеет внешний ключ для Address
Customer (id, phys_address_id, mail_address_id) Address (id, street, city, etc.)
Вариант 2. Customer
имеет отношение "один ко многим" к Address
, которое содержит поле
для описания типа адреса
Customer (id) Address (id, customer_id, address_type, street, city, etc.)
Вариант 3. Адресная информация де-нормируется и сохраняется в Customer
Customer (id, phys_street, phys_city, etc. mail_street, mail_city, etc.)
Одна из моих главных целей - упростить объектно-реляционные сопоставления, поэтому я склоняюсь к первому подходу. Каковы ваши мысли?