Я хочу, чтобы мои пользователи могли указывать свое местоположение, чтобы я мог наносить их на карту. Получив адрес, я использую API Карт Google, чтобы получить их координаты широты и долготы и сохранить их в базе данных.
Кроме того, я хочу разрешить пользователям выполнять поиск других пользователей в зависимости от местоположения. Используя API Карт Google, я также могу получить, скажем, страну / штат / город для адреса (или широты / долготы). Моя проблема в том, что я не знаю, как хранить страну / штат / город таким образом, чтобы:
- Данные связаны с конкретным пользователем
- Нет избыточности данных
Проблема, я думаю, заключается в том, что если Пользователь-1 и Пользователь-2 вводят адрес, в результате чего страна становится "США", я думаю, мне нужно знать, что Пользователь-1 и Пользователь-2 оба из США - - И что «США» хранится только один раз в БД.
Когда пользователи ищут других пользователей, я думаю, что я должен позволять им искать пользователей только в США, если у меня есть пользователи из США. Это означает, что пользователь-1 и пользователь-2 - единственные 2 пользователя из США, если пользователь-1 и пользователь-2 удаляют свои профили, я больше не должен разрешать поиск пользователей в США.
Мои идеи концептуально неверны? В любом случае, как мне смоделировать эту информацию? Я использую MySQL.