mysql - 在mysql中存储地缘政治数据

标签 mysql database-design street-address zipcode

我的应用程序有用户和属性,两者都可以有地址。该应用程序还需要进行大量分析,我们需要能够获取属于特定城市、邮政编码、县或州的所有地址。

存储国家/地区、州和县很容易,因为一个州恰好属于 1 个国家/地区,而一个县恰好属于 1 个州。

但是,当存储邮政编码和城市时,问题变得有点复杂。一个州可以有多个邮政编码,一个邮政编码可以属于多个州。邮政编码和城市也可以属于多个州/县。哎呀,有些城市和邮政编码甚至可能不属于华盛顿特区等任何县。

是否有一个既定的数据库模型可以用来确保我考虑到所有边缘情况,同时允许按每种类型进行查询?

最佳答案

However, when storing zip codes and cities, the problem becomes a bit more complex.

首先,您需要创建国家、城市、州和邮政编码。

很明显,States 和 Zip_codes 实体之间存在 M:M 关系,因此您需要创建一个新表,我们将其命名为 States_Zip_codes,其中包含两个外键 State_id FK 和 Zip_Id as FK。

A zip codes and cities can also belong to multiple states/counties.

在本例中,关系是一对多,因此 Zip_code_id(Zip_codes 表的主键)是 States 表中的 FK,依此类推。

我不明白关系的本质,它是多对多还是一对多

some cities and zips might not even belong to any counties like Washington, DC

因此在 city_name 字段(属性)中它将为空

希望有帮助。 .

关于mysql - 在mysql中存储地缘政治数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50825961/

相关文章:

php - 从查询填充表单数据的链接

mysql - 在读取密集型 MySQL 数据库中,是否值得创建一个包含 item_id 和 item_summary(来自其他 5 个表的数据)的两列表?

forms - 2019 年,Chrome 76,关闭自动完成功能的方法

java - 如何将 Android 应用程序中的地址发送到 Google map

php - 为 Selenium RC 脚本生成真实的美国街道地址

mysql - 选择在同一天出售不同事件门票的收银员

MySqlDataAdapter SelectCommand 语句

php - 选择提供日期之前的所有 MySQL 数据

数据库设计 - 为用户存储点的方法

mysql - 这些 MySQL 数据库设计(附后)中的哪一个最适合 moSTLy 读取高性能?