2009-04-28 174 views

回答

14

根据this post,有几个邮政编码跨国界。所以不,这不是对3NF的违反。

实际上,有一些罕见的情况,邮政编码穿越州界线。通常这是由于访问问题,例如在军事基地或由于交通网络的限制。

一个这样的案例是密苏里州的Protem(邮政编码65733)。一些位于Bull Shoals Lake以北的阿肯色州公路可以通过Protem交付单位而不是阿肯色州邮局进入。这种道路的一些例子包括安妮街,卡利亚路,麦克布赖德路,红橡木车道和万斯公路载体路线H002,邮编65733.麦克布赖德路实际上穿过了州界。如果你在一个在线测绘项目中看到道路网络,你可以看到位于Bull Shoals湖南侧的AR附近钻石城(邮编72644)附近的农村运营商需要开车几英里到能够访问上面列出的道路。

又如,肯塔基州的坎贝尔堡(邮编42223)在田纳西州也有一些道路。

+0

大声笑离开它给我们,使甚至最简单的事情不敬虔复杂... – ojblass 2009-04-28 04:27:33

+0

伟大的联系...谢谢.... – ojblass 2009-04-28 04:56:01

8

该声明在所有地理区域都不是真实的。澳大利亚有几个姐妹城市跨越国界但共享相同的邮政编码。

而3NF,虽然令人难以置信的有用,是不可侵犯的。出于性能原因,我有时会将某些表格信息恢复为2NF。

2

没有。有一些邮政编码跨州线。有些例子见Wikipedia。此外,规范化减少冗余,而地址实际上是相当复杂的事情,很容易得到错误的一个组成部分。冗余意味着即使地址的一部分是错误的,邮件也很有可能能够到达目的地。

我记得有一段时间,来自欧洲的徒步旅行者留在我的兄弟会,并想发送感谢信。他没有很好地理解美国的地址或地理位置,所以当他寄出这封信时,发给了“<兄弟会名字”<“大学校名”>“新英格兰?美国”。邮件真的到了那里,非常惊人。

地址中的冗余可能是一件非常好的事情,并且您通常不应该假设地址超过您的需要。例如,有些人没有街道号码;你把“普通交付”,邮递员希望知道信的去向(或者如果他不这样做,你可以在邮局领取)。

2

还有一个问题。您可能想要对输入的数据(可能有冲突)和您从中得出的结论进行区分。

2

虽然邮政编码可能包含多个州的地址,但任何通过CASS软件标准化为USPS要求的邮寄地址最终都会带有一个ZIP和州名缩写,这样每个ZIP都意味着一个且只有一个州,所以州对于ZIP确实是多余的。查看便宜的CASS工具http://semaphorecorp.com

但是,在ZIP的同一记录中保留两个字节的状态缩写是简单的,小的和快速的。将状态缩写分隔成单独的查找表不必要地增加了复杂性,空间和延迟。

0

通过示例违反3NF

让我们看一下博客文章项目的非规范化表格。这不是第3种正常形式,它已经坏了。假设同一作者有多个 帖子,我们可能会更新几行并让其他人不更新。离开表格数据不一致。

denormalized table for a blog posts project

因此这违反了归一化,因为它违反的常用方法描述在第三正常形式,其为表中的每一非键属性必须提供关于密钥的事实归一化的表,所述整个钥匙,只有钥匙。这是对你在美国法庭所说的话的一种表达,说出真相,全部真相以及真相。在这种情况下的关键是Post Id,并且不存在非关键属性Author Email。因为它确实告诉了作者的一些事情。所以它违反了第三种正常形式,因为没有实现goals of normalization

希望这有助于。