【发布时间】:2014-01-27 16:56:40
【问题描述】:
我有一个数据库,其中包含 Country、city、states、postcodes 的一个表中包含大量记录。我想规范化数据库结构以避免冗余并删除任何数据重复。我应该拆分数据库并为国家、城市、州和邮政编码分别制作表格吗?
或者在地址表中合并国家、城市、州、邮政编码?
【问题讨论】:
-
每个字段有多少个重复项?您可以将其标准化到街道级别,但如果没有您的数据的一些迹象,就不可能提出建议。了解应用程序也很重要 - 找到居住在特定邮政编码中的每个人对简单存储用户地址有不同的要求
-
例如一个国家有 100 万用户,一个城市三个是 5 万用户,类似情况与州、邮政编码。
-
我遵循这个建议,在不知道其中数据的情况下设计数据库真的很难。您应该比较您将获得的空间和速度,以及您将添加的复杂性。您将访问这些值多少次,您是每次都使用它们还是只使用一次城市,只使用州......。每列一个表意味着每个地址每列 1 个连接和 1 个索引搜索。
标签: sql-server database database-design entity-relationship