【发布时间】:2018-06-12 21:18:00
【问题描述】:
我的应用程序有用户和属性,两者都可以有地址。此应用程序也将进行大量分析,我们需要能够获取属于特定城市、邮编、县或州的所有地址。
存储国家、州和县很容易,因为一个州正好属于 1 个国家,而一个县正好属于 1 个州。
但是,在存储邮政编码和城市时,问题变得有点复杂。一个州可以有多个邮政编码,一个邮政编码可以属于多个州。邮政编码和城市也可以属于多个州/县。哎呀,一些城市和邮编甚至可能不属于华盛顿特区这样的任何县。
是否有一个既定的数据库模型可以用来确保我考虑所有边缘情况,同时允许按每种类型进行查询?
【问题讨论】:
-
有,但这是个秘密,
-
大声感谢您的有用评论
-
这只是一个database normalization 问题,整个图书馆都有关于这个主题的书籍。没有数据库模型可以解决所有边缘情况,因为根据定义,您的架构可以容纳的东西总是有优势的。您只需将优势设置得足够远,无论您遇到的任何问题对您的用户来说都不是问题。
-
请记住,“县”不是一个普遍的概念,即使在美国国内也不行。一些州以不同的方式划分事物。美国的一些地方本身甚至不是州,它们是领土或地区或财产,或者甚至根本不是地方,就像军事地址一样。
-
洛杉矶有教区,AK 有自治市镇,旧金山既是城市又是县......
标签: mysql database-design street-address zipcode