面向對象的關系數據庫設計 |
(本文轉載自軟件工程專家網 www.21cmm.com ,不代表gigix觀點) |
一、概念的區分
有些人把面向對象的數據庫設計(即數據庫模式)思想與面向對象數據庫管理系統(OODBMS) 理論混為一談。其實前者是數據庫用戶定義數據庫模式的思路,后者是數據庫管理程序的思路。用戶使用面向對象方法學可以定義任何一種DBMS數據庫,即網絡型、層次型、關系型、面向對象型均可,甚至文件系統設計也照樣可以遵循面向對象的思路。
一般數據庫設計方法有兩種,即屬性主導型和實體主導型。屬性主導型從歸納數據庫應用的屬性出發,在歸并屬性集合(實體)時維持屬性間的函數依賴關系。實體主導型則先從尋找對數據庫應用有意義的實體入手,然后通過定義屬性來定義實體。一般現實世界的實體數在屬性數 1/10 以下時,宜使用實體主導型設計方法。面向對象的數據庫設計是從對象模型出發的,屬于實體主導型設計。
1設計應用系統結構;
對以上各步驟,有幾點需要說明:
很多數據庫應用系統開發者不重視數據庫設計的原因是:他們太迷信DBMS,認為購入一個功能強大的 DBMS后數據庫設計就不困難、不重要了。一些國內外的數據庫教材常常是在為DBMS的開發廠商做宣傳,而很少站在數據庫用戶角度,從數據庫應用系統出發介紹數據庫設計方法。結果往往使讀者搞不清書中介紹的是數據庫管理程序的設計思想,還是應用這種 DBMS 進行數據庫設計的思想。
數據庫設計(模式)是否支持應用系統的對象模型,這是判斷是否是面向對象數據庫系統的基本出發點。由于應用系統設計在前,數據庫設計隨后,所以應用系統對象模型向數據庫模式的映射是面向對象數據庫設計的關鍵。
1. 3層數據庫模式面向對象模型的擴展
2. 對象模型向數據庫表的映射規則
3. 數據庫模式要面向應用系統
從某種意義上講,是數據庫設計的面向對象特征最終奠定了整個系統的面向對象性,才使面向對象方法在程序開發階段全面開花。其效果歸納如下:
1. 數據庫結構清晰,便于實現 OOP
2. 數據庫對象具有獨立性,便于維護
3. 需求變更時程序與數據庫重用率高,修改少
客觀世界是錯綜復雜的,計算機科學理論的發展也越來越高深、復雜。然而,人類探索理論和技術的最終目的是:讓客觀世界的復雜變簡單,最簡單的就是最好的。為此給出以下幾點忠告:
1. 慎用外鍵
2. 適當冗余
3. 信息隱蔽
|
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=2278
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
