2009-04-28 178 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

希望這有助於。