我一直在看微軟的Adventure Works 2012數據庫。如果有任何信息可以解釋爲什麼創建表格,我會非常感興趣。我猜想某種模式概述。冒險作品解釋
例如:
他們爲什麼選擇創建一個BusinessEntity
表作爲一種對人,員工的基類等
大部分數據進行歸一化,爲什麼他們選擇把CountryRegionCode
字段放入StateProvince
表中,而不是一個ID到一個單獨的表中。
無論如何,我對進一步瞭解進入數據庫設計的決策非常感興趣。任何人都知道進入這種事情的資源?
我一直在看微軟的Adventure Works 2012數據庫。如果有任何信息可以解釋爲什麼創建表格,我會非常感興趣。我猜想某種模式概述。冒險作品解釋
例如:
他們爲什麼選擇創建一個BusinessEntity
表作爲一種對人,員工的基類等
大部分數據進行歸一化,爲什麼他們選擇把CountryRegionCode
字段放入StateProvince
表中,而不是一個ID到一個單獨的表中。
無論如何,我對進一步瞭解進入數據庫設計的決策非常感興趣。任何人都知道進入這種事情的資源?
我不知道AdventureWorks的任何官方設計文檔,但我用作培訓師,並廣泛使用AdventureWorks數據庫進行演示和實驗,所以我對它很熟悉。
BusinessEntity表是SuperType/SubType設計的經典案例,它減少了數據冗餘,因爲客戶也可以成爲供應商,員工可以成爲客戶,以及其他任何組合。而且,這意味着您不會將與所有實體相關的詳細信息反覆存儲在單獨的表中,從而最大限度地減少代碼更改時的工作量。
的CountryRegionCode我不看好,但我懷疑的三個原因之一:
謝謝你的見解。 – user1705507