邮政编码数据库规范化

时间:2014-10-28 04:45:40

标签: normalization

参考地区和邮政编码

每个邮政编码可以有一个以上的地方 每个地区都可以有一个或多个邮政编码

因此,应该将其创建为具有第三个连接表'区域的M:M场景?

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

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

提前致谢...

1 个答案:

答案 0 :(得分:0)

你提出的问题主要是针对意见。根据您计划查询数据的目标,有许多因素可能会降低规范化程度。

传统的规范化通常表明M:M场景是正确的,但是这会使应用程序不断地连接3个表来关联信息,如果应用程序以高频率执行此操作,那么这可能不是最有效的。

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

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