鉴于状态信息在邮政编码中是隐含的,那么它们不是都存储了一些第三范式的冲突吗?可以或者应该简单地将它们组合到一个字段中吗?
发布于 2009-04-28 04:24:46
根据this post的说法,有一些邮政编码是跨越州界的。所以不,这并不违反3NF。
实际上,邮政编码跨越州界的情况很少见。通常是由于接入问题,例如在军事基地或由于传输网络的限制。
一个这样的案例是密苏里州的Protem (邮政编码65733)。牛浅滩湖以北的一些阿肯色州道路最适合由Protem递送单位而不是阿肯色州邮局访问。这类道路的一些例子包括安街、卡利贾路、McBride路、红橡树巷和万斯路在邮政编码为65733的公路上的承运商路线H002。McBride路实际上跨越了州界。如果你在一个在线地图程序中查看公路网,你可以看到,一个来自附近的钻石城,阿肯色州(邮政编码72644)的农村运输公司,在公牛浅滩湖的南侧,需要行驶几英里才能进入上面列出的道路。
再举一个例子,肯塔基州的坎贝尔堡(邮政编码42223)在田纳西州也有一些道路。
发布于 2009-04-28 04:25:16
这一说法并不是在所有地理区域都是正确的。澳大利亚有几个姐妹城市,它们跨越州界,但邮政编码相同。
3NF虽然非常有用,但并不是不可侵犯的。出于性能原因,我有时会将一些表信息恢复为2NF。
发布于 2009-04-28 04:43:48
不是的。有些邮政编码是跨越州界的。有关示例,请参阅Wikipedia。此外,标准化减少了冗余,而地址实际上是相当复杂的事情,很容易出现一个错误的组件。冗余意味着即使地址的一部分是错误的,邮件也很有可能到达目的地。
我记得有一次,一位来自欧洲的徒步旅行者住在我的兄弟会,想送一封感谢信。他不太了解美国的地址和地理位置,所以当他寄出这封信时,地址是“新英格兰?美国”。令人惊叹的是,邮件真的到了那里。
地址中的冗余可能是一件非常好的事情,通常您不应该对一个地址做过多的假设,除非您需要这样做。例如,有些人没有街道号码;你写上"general delivery",预计邮递员会知道信件寄到了哪里(或者,如果他没有,你也可以去邮局取)。
https://stackoverflow.com/questions/796196
复制相似问题