В моем приложении есть пользователи и свойства, оба из которых могут иметь адреса. Это приложение также будет в значительной степени аналитическим, и нам нужно будет иметь возможность захватывать все адреса, принадлежащие определенному городу, почтовому индексу, округу или штату.
Сохранение стран, штатов и округов легко, потому что штат принадлежит ровно 1 стране, а округ принадлежит ровно 1 штату.
Однако при сохранении почтовых индексов и городов проблема становится немного сложнее. Штат может иметь несколько почтовых индексов, а почтовый индекс может принадлежать нескольким штатам. Почтовые индексы и города также могут принадлежать нескольким штатам / округам. Черт возьми, некоторые города и почтовые индексы могут даже не принадлежать никаким округам, таким как Вашингтон, округ Колумбия.
Есть ли устоявшаяся модель базы данных, которую я могу использовать, чтобы обеспечить учет всех крайних случаев и в то же время разрешить запросы по каждому типу?