Melhor maneira de modelar o endereço do cliente <-->

CadaCustomer tem um endereço físico e um endereço para correspondência opcional. Qual é a sua maneira preferida de modelar isso?

Opção 1.Customer tem chave estrangeira paraAddress

   Customer   (id, phys_address_id, mail_address_id)
   Address    (id, street, city, etc.)

Opção 2.Customer tem uma relação de um para muitos comAddress, que contém um campo para descrever o tipo de endereço

   Customer   (id)
   Address    (id, customer_id, address_type, street, city, etc.)

Option 3. As informações de endereço são desnormalizadas e armazenadas emCustomer

   Customer   (id, phys_street, phys_city, etc. mail_street, mail_city, etc.)

m dos meus principais objetivos é simplificar os mapeamentos objeto-relacionais, por isso estou me inclinando para a primeira abordagem. Quais são seus pensamentos

questionAnswers(12)

yourAnswerToTheQuestion