-1
假設任何一個設計數據庫(ER模型)並且他有三個表CHECKING-ACCOUNT,SAVINGS-ACCOUNT和LOAN-ACCOUNT。超級類型子類型表有什麼好處
假設他知道超類型子類型關係。所以他實現了超級類型 - 子類型。
我的問題是 - 分型的關係,他會得到什麼好處或優勢 - 實現超類型之後?正在實施超級類型 - 子類型的最佳做法?
假設任何一個設計數據庫(ER模型)並且他有三個表CHECKING-ACCOUNT,SAVINGS-ACCOUNT和LOAN-ACCOUNT。超級類型子類型表有什麼好處
假設他知道超類型子類型關係。所以他實現了超級類型 - 子類型。
我的問題是 - 分型的關係,他會得到什麼好處或優勢 - 實現超類型之後?正在實施超級類型 - 子類型的最佳做法?
優點是超類型允許我們統一多個實體集的通用屬性,關係和完整性,而子類型允許我們支持類型特定的屬性,關係和完整性約束。這使我們能夠簡化數據庫和查詢,並強化更嚴格的完整性。
在您的第一個示例中,如果我們想知道所有帳戶何時打開或審閱過,我們需要分別查詢這3個表中的每一個。如果我們想建立賬戶和客戶之間的關係,我們需要3個獨立的關係,3個獨立的查詢來獲取所有客戶和賬戶。例如確保在打開日期後發生審閱日期的限制必須定義3次。
沒有子類型,我們需要支持單個常見類型的所有可能的屬性和關係,而且我們的查詢必須包含特定於類型的邏輯來分別處理不同的行。我們不能輕易實施特定於類型的限制,如正面利率不適用於支票帳戶。
我只是不確定爲什麼他不會在同一個表中使用帳戶類型,帳戶類型,帳戶餘額等帳戶表。 – Forklift
如果我們總是使用一個表,存儲類似的(不是100%相似的)類型的東西(少數列相同和幾個不同),那麼超類型 - 子類型關係有什麼用? –
如果每個表中有許多列沒有任何關係,那麼可能不需要大量空列。或者如果你有很多的子類型,你會再次結束很多空列。超級超級可以防止這些問題。 – Forklift