[导入]数据库物理模型设计的其他模式之继承模式
生活随笔
收集整理的這篇文章主要介紹了
[导入]数据库物理模型设计的其他模式之继承模式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
連載之7 原創:胖子劉(轉載請注明作者和出處,謝謝)
數據庫物理模型設計的其他模式
除了上面提到的四種主要設計模式,還有一些其他模式,在某些項目中可能會用到,在這里先簡單做個說明,暫不做深入討論,等到以后的項目用到這些模式的時候,再結合實際需求詳細解說。 (一)繼承模式 繼承模式,可以看作是“主從模式”的一種特殊情況(或者說是“變形”),它所代表的兩個對象也是“一對多”的關系。它與“主從模式”的區別是,“繼承模式”中從表的主鍵是復合主鍵,并且復合主鍵中必定包含主表的主鍵列。 根據從表繼承主表的列的數量,繼承模式又分以下兩種情況: 1.?????? 從表繼承主表的全部列 在這種情況下,從表除了代表自身的專用字段以外,還冗余了主表的全部字段。這種設計方式的缺點顯而易見:
文章來源:http://blog.csdn.net/liu7537/archive/2006/04/13/661838.aspx
數據庫物理模型設計的其他模式
除了上面提到的四種主要設計模式,還有一些其他模式,在某些項目中可能會用到,在這里先簡單做個說明,暫不做深入討論,等到以后的項目用到這些模式的時候,再結合實際需求詳細解說。 (一)繼承模式 繼承模式,可以看作是“主從模式”的一種特殊情況(或者說是“變形”),它所代表的兩個對象也是“一對多”的關系。它與“主從模式”的區別是,“繼承模式”中從表的主鍵是復合主鍵,并且復合主鍵中必定包含主表的主鍵列。 根據從表繼承主表的列的數量,繼承模式又分以下兩種情況: 1.?????? 從表繼承主表的全部列 在這種情況下,從表除了代表自身的專用字段以外,還冗余了主表的全部字段。這種設計方式的缺點顯而易見:
- 數據冗余度大
- ?一致性差
- 磁盤存儲量大
- 正因為它的冗余度大、所以它不易丟失數據。假設主表數據丟失、或者被誤操作刪改,也能依據從表數據重新生成主表數據;這種設計方式,可以在發生數據損壞的時候從應用的角度進行一定程度的數據恢復,等于是在SQL Server數據庫級別的數據恢復功能之上又加了一道保險。
- 正因為它一致性差、主表數據被重復存儲,所以可依據外鍵關系進行數據驗證。將主從表記錄作關聯比較,如果數據不一致,就可以得知數據要么被人為改動,或者要么程序代碼中存在bug。
- 盡管磁盤存儲量大,但是數據在查詢統計的時候,只需針對從表進行搜索即可,無需關聯操作,可以加快檢索的速度。這就是數據庫模型設計中經常提到的“以空間換時間”。
- 數據冗余度小
- 一致性高
- 磁盤存儲量小
- 正因為它的冗余度小、所以它易丟失數據。假設主表數據丟失、或者被誤操作刪改,就只能通過SQL Server數據庫級別的數據恢復操作來找回丟失的數據了。
- 正因為它一致性高,所以無法進行應用程序級的數據驗證。
- 由于采用了一致性設計,磁盤存儲量較小,但是數據在查詢統計的時候,必須要對兩個表進行內連接(INNER JOIN)操作,才能搜索到相關數據。而內連接操作時需要耗費一定的時間的。這就是數據庫模型設計中經常提到的“以時間換空間”。
文章來源:http://blog.csdn.net/liu7537/archive/2006/04/13/661838.aspx
總結
以上是生活随笔為你收集整理的[导入]数据库物理模型设计的其他模式之继承模式的全部內容,希望文章能夠幫你解決所遇到的問題。