2014-10-28 70 views
0

参照地方和邮政编码邮政代码数据库标准化

每个邮政编码可以有一个更地方 每个行政区可以具有一个或多个邮递区号

因此应该被创建为A M:M第三个连接表'区域'的情况?

邮政编码表只有一列是邮政编码本身,而地区表也只有一列是地区名称。

替代方案是包含两者的单个表,但会导致重复的数据。

在此先感谢...

回答

0

你问叶子大多开到意见的问题。有许多因素可能会使您根据计划查询数据的目标来降低规范化。

传统的规范化通常建议M:M方案是正确的,但这会使应用程序不断加入3个表来关联信息,如果应用程序以高频率进行操作,这可能不是最有效的。

如果伴随着精心设计的非聚集索引,使得联接最小化并且索引在执行计划中寻求优化,那么具有重复数据的单个表的替代方案可能是最佳的。但是,由于非聚集索引,存储将被征税,应用程序当然必须知道返回的数据可能被欺骗。但是,如果重点仅仅是验证某个地区是否在邮政编码范围内,则这是预期的。

小故事,有一个完美的世界中的教科书答案,然后实际上可能有其他因素的性能,存储,查询优化和应用程序倾向,可能会使较低的正常形式更适合某些情况。