首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >地址表上第三范式的矛盾

地址表上第三范式的矛盾
EN

Database Administration用户
提问于 2016-03-18 14:25:12
回答 1查看 401关注 0票数 0

我有一个地址表,它的列是address_id、address_1、address_2、city、state、country、pin代码.Its主键是address_id。根据第三范式,没有非键属性应该依赖于其他非键属性。但是在这个表中,非键属性状态取决于其他非键属性国家,这意味着如果我们知道状态,我们实际上不需要address_id(主键)来查找它属于哪个国家。那么,我应该如何设计地址表,使它符合第三范式。另外,是否真的需要在数据库表上应用第三种范式?我附上了

地址表架构的图像。

EN

回答 1

Database Administration用户

回答已采纳

发布于 2016-03-18 14:41:01

你应该注意到,并不是每个国家都有相同的地址规则。我相信address_id (作为整数)只是地址表中一个条目的代理键。这并不是指这个国家。

如果您想查看地址的变化,您可能会发现以下内容很有趣。

弗兰克关于邮政地址的强制性指南

关于城市/州/国家,你并不总是能得到所有这些值。那些没有国家的国家呢?

如果每个城市、州(包括空城市和州)以及维护的国家都有一个全面的数据源,那么可以避免额外的列。

但是,当某些元素丢失时,您需要确定解决办法。(你可以在Frank的网页上找到例子。)

我个人的观点(不是每个人都同意)是,州和国家列通常比维护一个大数据集更好。

如果您需要的范围足够广泛,您可以订阅一个服务来维护您的地址信息。只需做一个网络搜索,以找到适合你的预算服务。

票数 2
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/132659

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档