關係資料庫系統與物件導向資料庫系統各自的優缺點

2021-06-08 23:05:18 字數 2078 閱讀 1502

①關係資料庫系統的優點

a.靈活性和建庫的簡單性:從軟體開發的前景來看,使用者與關聯式資料庫程式設計之間的介面是靈活與友好的。目前在多數rddms產品中使用標準查詢語言sql,允許使用者幾乎毫無差別地從乙個產品到另乙個產品訪問資訊。與關聯式資料庫介面的應用軟體具有相似的程式訪問機制,提供大量標準的資料訪問方法。

b.結構簡單:從資料建模的前景看,關聯式資料庫具有相當簡單的結構(元組),可為使用者或程式提供多個複雜的檢視。資料庫設計和規範化過程也簡單易行和易於理解。由於關聯式資料庫的強有力的、多方面的功能,已經有效地支援許多資料庫納應用。

②關係資料庫系統的缺點

a.資料型別表達能力差:從下一代應用軟體的發展角度來看,關聯式資料庫的根本缺陷在於缺乏直接構造與這些應用有關的資訊的型別表達能力,缺乏這種能力將產生以下有害的影響,例如:大多數rdbms產品所採用的簡單型別在重構複雜資料的過程中將會出現效能問題;資料庫設計過程中的額外複雜性;rdbms產品和程式語言在資料型別方面的不協調。

大多數現代的rdbms產品已成熟地用於商務和財政方面,而這些領域不要求很高和很複雜的資料模型。雖然這些產品多多少少克服了一些以上所述的缺點,但從理論上看關係資料模型不直接支援複雜的資料型別,這是由於第一正規化的要求,所有的資料必須轉換為簡單的型別,如整數、實數、雙精度數和字串。

對於工程應用來說,這種不能支援複雜資料型別的典型結果就是需要額外地分解資料結構工作,這些被分解的結構不能直接表示應用資料,且從基本成分重構時也非常繁瑣和費時間。

b.複雜查詢功能差:關係資料庫系統的某些優點也同時是它的不足之處。雖然sql語言為資料查詢提供了很好的定義方法,但當用於複雜資訊的查詢時可能是非常繁瑣的。此外,在工程應用時規範化的過程通常會產生大量的簡單表。在這種環境下由訪問資訊產生的查詢必須處理大量的表和複雜的碼聯絡以及連線運算。

除非這些查詢以固定的例行程式方式提供,否則使用者就必須對sql非常熟悉,以便適當地瀏覽資料庫,查出所需的資訊。然而,一旦查詢方式按固定例行程式方式進行,使用者最終就進行應用軟體的常規維護。但應用或人機介面軟體的變化又可能要求經常修改例行的查詢,資料庫結構的變化也可能導致例行查詢程式以及應用或人機介面軟體的失效。由於這些原因,關係資料庫系統的維護開銷可能是很大的。

由於關聯式資料庫不能提供足夠的構造能力及效能方面的原因,在進行較複雜的資料庫設計過程中,不可能將許多任務程問題直接分解成一些簡單的部分。由於缺乏直接指標訪問方法,所以查詢有關的資訊需要花費時間。

c.支援長事務能力差;由於rdbms記錄鎖機制的顆粒度限制,對於支援多種記錄型別的大段資料的登記和檢查來說,簡單的記錄級的鎖機制是不夠的,但基於鍵值關係的較複雜的鎖機制來說卻很難推廣也難以實現。

d.環境應變能力差:在要求系統頻繁改變的環境下,關係系統的成本高且修改困難。在工程應用中支援"模式演變"(schema evolution)的功能是很重要的,而rdbms不容易支援這種功能。另外,關聯式資料庫和程式語言所提供的資料型別的不一致,使得從乙個環境轉換到另乙個環境時需要多至30%的附加**。

③物件導向資料庫系統的優點

a.能有效地表達客觀世界和有效地查詢資訊:物件導向方法綜合了在關聯式資料庫中發展的全部工程原理、系統分析、軟體工程和專家系統領域的內容。物件導向的方法符合一般人的思維規律、即將現實世界分解成明確的物件,這些物件具有屬性和行為。系統設計人員用odbms建立的計算機模型能更直接反映客觀世界,終端使用者不管是否是計算機專業人員,都可以通過這些模型理解和評述資料庫系統。

工程中的一些問題對關聯式資料庫來說顯得太複雜,不採取物件導向的方法很難實現。從構造複雜資料的前景看,資訊不再需要手工地分解為細小的單元。odbms擴充套件了物件導向的程式設計環境,該環境可以支援高度複雜資料結構的直接建模。

b.可維護性好:在耦合性和內聚性方面,物件導向資料庫的效能尤為突出。這使得資料庫設計者可在盡可能少影響現存**和資料的條件下修改資料庫結構,在發現有不能適合原始模型的特殊情況下,能增加一些特殊的類來處理這些情況而不影響現存的資料。如果資料庫的基本模式或設計發生變化,為與模式變化保持一致,資料庫可以建立原物件的修改版本。這種先進的耦合性和內聚性也簡化了在異種硬體平台的網路上的分布式資料庫的執行。

c.能很好地解決"阻抗不匹配"(impedance mismatch)問題。物件導向資料庫還解決了乙個關聯式資料庫執行中的典型問題:應用程式語言與資料庫管理系統對資料型別支援的不一致問題,這一問題通常稱之為阻抗不匹配問題。

④物件導向資料庫系統的缺點

關係資料庫系統

關係資料庫系統的發展歷史 關係資料模型 資料模型 資料結構 資料操作 完整性約束 資料結構 層次,網狀,關係,物件 資料操作 ddl,dml 完整性約束 實體完整性 主鍵存在,參照完整性 外來鍵引用存在,使用者定義完整性 關係資料模型 關係資料結構 資料操作 完整性約束 關係模型的資料結構和基本術語...

資料庫系統概念 關聯式資料庫

database system concepts 6e 總結 本篇是 資料庫系統概念 原版書籍第一部分,這一部分介紹了關係模型的基礎知識,介紹了最普遍的一種查詢語言 sql語言,以及關係代數。1.關聯式資料庫 a relational database consists of a collectio...

資料庫系統概論02 關聯式資料庫

笛卡爾積 a b 假設集合a 集合b 則兩個集合的笛卡爾積為。候選碼 關係中的某一屬性組的值能唯一標識乙個元組,而其子集不能。主碼 候選碼中選乙個 全碼 關係模式的所有屬性是這個關係模型的候選碼。關係的三種型別 基本關係 基本表 查詢表 檢視表 查詢 query 選擇 select 投影 proje...