mysql - 存储/构建 mysql 世界国家、州、地区、城市的最佳方式......?

标签 mysql data-structures foreign-keys innodb

我打算去几乎全世界的所有城镇、城市、地区、地区、州和国家

所以镇属于市,市属于区,区属于地区,地区属于州,州属于国家

我认为最好的方法是用外键为每个特征做单独的表(城市表,地区表......)但问题是并非所有国家都有州,地区和地区,有些只有有州,有的只有地区,有的只有城市,所以有些城市只会属于一个国家,或者只属于一个地区,或者只属于一个地区和地区,所以有很多组合

有什么建议吗?

最佳答案

So a town belong to a city, a city belong to a district, district belong to region and a region belong to a state, a state belong to a country

虽然这可能在您的国家/地区是正确的,但肯定不是所有地方都是正确的。例如,日本的国家由都道府县组成;每个都道府县分为市、镇和村。

您的第一个决定是,您是要按照国家实际运作的方式对国家进行建模,还是要将它们强行纳入您自己的架构中。关系数据建模将帮助您完成第一个。其次,考虑调整您将通过 Google's Geocoding API 找到的信息。 .

关于mysql - 存储/构建 mysql 世界国家、州、地区、城市的最佳方式......?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9802992/

相关文章:

mysql - 如何将表与许多其他表之一关联起来?

mysql - 如何修复创建复合外键时的 'MySQL Error: 1822. Missing index for contraint'

mysql - 错误: Cannot delete or update a parent row: a foreign key constraint fails

php - 使用动态数据加载和更新动态图表 (chart.js)

mysql - 使用 SUM 和 group by 在子查询中引用父查询中的表

c++ - 在堆栈中搜索特定元素

c - 后缀列表中的内存有效搜索

MySQL 关系

mysql - Min、Max、Average 和 Count 分组到 15 分钟的 bin 中

python - 根据项目条件在两个列表上查找索引