У меня есть два набора входных данных в форме поставки продукта -
- информация о получателе ( требуется ) -
(country, state, city, zipcode, street, contact_no)
- alternate_recipient_information ( Необязательно ) -
(country, state, city, zipcode, street, recipient name, contact_no)
Мне нужна эффективная и гибкая схема базы данных, и вот то, что я думал, может работать для меня:
user
id, name, email
country
id, country, iso_code
state
id, state, country_id
city
id, city, state_id
address_type
id, type
1 required
2 optional
address
id, street(null), city_id(null), state_id(null), country_id(null), type_id
recipient
id, user_id, address_id, contact_no
alternate_recipient
id, name, address_id, contact_no
delivery_info
id, recipient_id, alt_recipient_id(null)
ИЛИ мне просто использовать две отдельные таблицы для обязательных и необязательных наборов данных, или мне подходит go? Есть ли лучшие решения?