Мне нужно будет представлять местоположение некоторых событий, и я разрабатываю схему базы данных для этого приложения. У меня есть два подхода для представления местоположения:
подход 1: 4 таблицы:
- Страна
- States
- Города
- Местоположение (в местоположении у меня есть внешний ключ для country_id, state_id и city_id)
подход 2: 1 таблица:
- Местоположения и есть просто поля Страна, Штат, город, которые хранятся как текст (без иностранных идентификаторов)
Какой подход вы бы порекомендовали? первый из них поможет устранить возможные различные имена, например. той же страны (usa, us, united states и т.д.) и может быть полезным при предоставлении предложений при написании текстовых полей, которые, вероятно, будут обязательными.
однако второй подход кажется, что он позволит сохранить все гораздо более простым и сократить количество запросов к базе данных.
Какой, по вашему мнению, лучше? Знаете ли вы, какие лучшие практики в этом случае? Например. как он сделал некоторые большие порталы, где им также нужно что-то вроде местоположения (например, foursquare и т.д.). Afaik facebook использует второй подход, но... Я хочу услышать ваши мнения и, возможно, причины, по которым вы бы выбрали один подход над другим.
Спасибо!