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

时间:2012-03-21 10:46:28

标签: mysql data-structures foreign-keys innodb

我计划完成几乎整个世界的所有城镇,城市,地区,国家和地区

因此,一个城镇属于一个城市,一个城市属于一个区域,一个区域属于一个区域,一个区域属于一个州,一个州属于一个国家

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

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

  

因此,一个城镇属于一个城市,一个城市属于一个区域,一个区域属于一个区域,一个区域属于一个州,一个州属于一个国家

虽然可能在您的国家/地区属实,但在任何地方肯定都不是这样。例如,日本的国家由县组成;每个县分为城市,乡镇和村庄。

您的第一个决定是,您是要按国家/地区实际工作的方式对国家/地区进行建模,还是要将它们强制适合您自己的架构。关系数据建模将帮助您完成第一个。对于第二个,请考虑调整您通过Google's Geocoding API找到的信息。