關系數據庫系統的優點
1、靈活性和建庫的簡單性
從軟件開發的前景來看,用戶與關系數據庫編程之間的接口是靈活與友好的。目前在多數RDDMS產品中使用標準查詢語言SQL,允許用戶幾乎毫無差別地從一個產品到另一個產品存取信息。與關系數據庫接口的應用軟件具有相似的程序訪問機制,提供大量標準的數據存取方法。
2、結構簡單
從數據建模的前景看,關系數據庫具有相當簡單的結構(元組),可為用戶或程序提供多個復雜的視圖。數據庫設計和規范化過程也簡單易行和易于理解。由于關系數據庫的強有力的、多方面的功能,已經有效地支持許多數據庫納應用。
關系數據庫系統的缺點
1、數據類型表達能力差
從下一代應用軟件的發展角度來看,關系數據庫的根本缺陷在于缺乏直接構造與這些應用有關的信息的類型表達能力,缺乏這種能力將產生以下有害的影響,例如:大多數RDBMS產品所采用的簡單類型在重構復雜數據的過程中將會出現性能問題;數據庫設計過程中的額外復雜性;RDBMS產品和編程語言在數據類型方面的不協調。
大多數現代的RDBMS產品已成熟地用于商務和財政方面,而這些領域不要求很高和很復雜的數據模型。雖然這些產品多多少少克服了一些以上所述的缺點,但從理論上看關系數據模型不直接支持復雜的數據類型,這是由于第一范式的要求,所有的數據必須轉換為簡單的類型,如整數、實數、雙精度數和字符串。
對于工程應用來說,這種不能支持復雜數據類型的典型結果就是需要額外地分解數據結構工作,這些被分解的結構不能直接表示應用數據,且從基本成分重構時也非常繁瑣和費時間。
2、復雜查詢功能差
關系數據庫系統的某些優點也同時是它的不足之處。雖然SQL語言為數據查詢提供了很好的定義方法,但當用于復雜信息的查詢時可能是非常繁瑣的。此外,在工程應用時規范化的過程通常會產生大量的簡單表。在這種環境下由存取信息產生的查詢必須處理大量的表和復雜的碼聯系以及連接運算。
除非這些查詢以固定的例行程序方式提供,否則用戶就必須對SQL非常熟悉,以便適當地瀏覽數據庫,查出所需的信息。然而,一旦查詢方式按固定例行程序方式進行,用戶最終就進行應用軟件的常規維護。但應用或人機接口軟件的變化又可能要求經常修改例行的查詢,數據庫結構的變化也可能導致例行查詢程序以及應用或人機接口軟件的失效。由于這些原因,關系數據庫系統的維護開銷可能是很大的。
由于關系數據庫不能提供足夠的構造能力及性能方面的原因,在進行較復雜的數據庫設計過程中,不可能將許多工程問題直接分解成一些簡單的部分。由于缺乏直接指針存取方法,所以查詢有關的信息需要花費時間。
3、支持長事務能力差
由于RDBMS記錄鎖機制的顆粒度限制,對于支持多種記錄類型的大段數據的登記和檢查來說,簡單的記錄級的鎖機制是不夠的,但基于鍵值關系的較復雜的鎖機制來說卻很難推廣也難以實現。
4、環境應變能力差
在要求系統頻繁改變的環境下,關系系統的成本高且修改困難。在工程應用中支持“模式演變”(schemaevolution)的功能是很重要的,而RDBMS不容易支持這種功能。另外,關系數據庫和編程語言所提供的數據類型的不一致,使得從一個環境轉換到另一個環境時需要多至30%的附加代碼。
-
數據庫
+關注
關注
7文章
3845瀏覽量
64584
發布評論請先 登錄
相關推薦
評論