面向對象資料庫技術
A. 對象資料庫的定義是什麼, 哪些資料庫是以此設計的
面向對象是一種認識方法學,也是一種新的程序設計方法學。把面向對象的方法和資料庫技術結合起來可以使資料庫系統的分析、設計最大程度地與人們對客觀世界的認識相一致。面向對象資料庫系統是為了滿足新的資料庫應用需要而產生的新一代資料庫系統。
早期的面向對象資料庫由於一些特性限制了在一般商業領域里的應用。首先同許多別的商業事務相比,面向設計假定用戶只執行有限的擴充事務;其次,商業用戶要求易於使用的查詢手段,如結構查詢語言(sql)所提供的手段。 而開發商用於商業領域的資料庫定義和操作語言未獲成功,使得它們對規模較大的應用完全無法適應。 面向對象資料庫的新產品都在試圖改變這些狀況,使得面向對象資料庫的開發從實驗室走向市場。 面向對象資料庫從面向程序設計語言的擴充著手使之成為基於面向對象程序設計語言的面向對象資料庫。例如:ONTOS、ORION等,它們均是C++的擴充,熟悉C++的人均能很方便地掌握並使用這類系統。
面向對象資料庫研究的另一個進展是在現有關系資料庫中加入許多純面向對象資料庫的功能。在商業應用中對關系模型的面向對象擴展著重於性能優化,處理各種環境的對象的物理表示的優化和增加SQL模型以賦予面向對象特徵。如Versant、UNISQL、O2等, 它們均具有關系資料庫的基本功能,採用類似於SQL的語言,用戶很容易掌握。
B. 面向對象資料庫系統主要有哪些特點
面向對象程序語言操縱的是對象,所以面向對象資料庫(簡稱OODB)的一個優勢是面向對象語言程序員在做程序時,可直接以對象的形式存儲數據。對象數據模型有以下特點:
(1)使用對象數據模型將客觀世界按語義組織成由各個相互關聯的對象單元組成的復雜系統
。對象可以定義為對象的屬性和對象的行為描述,對象間的關系分為直接和間接關系。(2)語義上相似的對象被組織成類,類是對象的集合,對象只是類的一個實例[6],通過創建類的實例實現對象的訪問和操作。(3)
對象數據模型具有「封裝」、「繼承」、「多態」等基本概念[7]。(4)
方法實現類似於關系資料庫中的存儲過程,但存儲過程並不和特定對象相關聯,方法實現是類的一部分。(5)
實際應用中,面向對象資料庫可以實現一些帶有復雜數據描述的應用系統,如時態和空間事務、多媒體數據管理等。
C. 面向對象資料庫的優點
1、易維護採用面向對象思想設計的結構,可讀性高,由於繼承的存在,即使改變需求,那麼維護也只是在局部模塊,所以維護起來是非常方便和較低成本的。2、質量高在設計時,可重用現有的,在以前的項目的領域中已被測試過的類使系統滿足業務需求並具有較高的質量。3、效率高在軟體開發時,根據設計的需要對現實世界的事物進行抽象,產生類。使用這樣的方法解決問題,接近於日常生活和自然的思考方式,勢必提高軟體開發的效率和質量。4、易擴展由於繼承、封裝、多態的特性,自然設計出高內聚、低耦合的系統結構,使得系統更靈活、更容易擴展,而且成本較低。
D. 面向對象和資料庫技術是如何進行整合的
面向對象程序設計語言傳統的關系資料庫SQL語言,面向對象程序設計語言傳統的關系資料庫SQL語言。根據從相關公開資料,面向對象的資料庫系已成為當今資料庫領域研究和發展的主要方向之一。資料庫技術與面向對象技術相結合已成為當前資料庫技術研究、應用和發展的一個重要方向。
E. 什麼是面向對象資料庫管理系統
面向對象是一種認識方法學,也是一種新的程序設計方法學。把面向對象的方法和資料庫技術結合起來可以使資料庫系統的分析、設計最大程度地與人們對客觀世界的認識相一致。面向對象資料庫系統是為了滿足新的資料庫應用需要而產生的新一代資料庫系統。
概述
面向對象是一種認識方法學,也是一種新的程序設計方法學。把面向對象的方法和資料庫技術結合起來可以使資料庫系統的分析、設計最大程度地與人們對客觀世界的認識相一致。面向對象資料庫系統是為了滿足新的資料庫應用需要而產生的新一代資料庫系統。
技術
在資料庫中提供面向對象的技術是為了滿足特定應用的需要。隨著許多基本設計應用(如MACD和ECAD)中的資料庫向面向對象資料庫的過渡,面向對象思想也逐漸延伸到其它涉及復雜數據的應用中, 其中包括輔助軟體工程(CASE)、計算機輔助印刷(CAP)和材料需求計劃(MRP)。 這些應用如同設計應用一樣在程序設計方面和數據類型方面都是數據密集型的,它們需要識別於類型關系的存儲技術,並能對相近數據備份進行調整。
其他應用
還有許多應用要求多媒體資料庫。它們要求以集成方式和文本或圖形信息一起處理關系數據,這些應用包括高級辦公室系統的其它文檔管理系統。
人工智慧(AI)應用的需要,如專家系統,也推動了面向對象資料庫的發展。專家系統常需要處理各種(通常是復雜的)數據類型。與關系資料庫不同,面向對象資料庫不因數據類型的增加而降低處理效率。
由於這些應用需求,80年代已開始出現一些面向對象資料庫的商品和許多正在研究的面向對象資料庫。多數這樣的面向對象資料庫被用於基本設計的學科和工程應用領域。
F. 面向對象資料庫有哪些
面向對象的資料庫是一種資料庫的模式
資料庫中的表,欄位和內容都當成對象來處理
換言之,可以使用對象的屬性和方法
以paradox為例
如果sql語句為select
*
from
a
where
b=:b
那麼在delphi中可以操作參數b
即
paramaters.paramvalue['b']:=x;
此時就相當於使用了對象
現在比較流行的面向對象的資料庫是oracle
G. 什麼叫做「面向對象」資料庫
什麼是資料庫對象
資料庫對象是資料庫的組成部分,常見的有以下幾種:
1 表(Table )
資料庫中的表與我們日常生活中使用的表格類似,它也是由行(Row) 和列(Column)組成的。列由同類的信息組成,每列又稱為一個欄位,每列的標題稱為欄位名。行包括了若干列信息項。一行數據稱為一個或一條記錄,它表達有一定意義的信息組合。一個資料庫表由一條或多條記錄組成,沒有記錄的表稱為空表。每個表中通常都有一個主關鍵字,用於惟一地確定一條記錄。
2 索引(Index)
索引是根據指定的資料庫表列建立起來的順序。它提供了快速訪問數據的途徑,並且可監督表的數據,使其索引所指向的列中的數據不重復。
3 視圖(View)
視圖看上去同表似乎一模一樣,具有一組命名的欄位和數據項,但它其實是一個虛擬的表,在資料庫中並不實際存。在視圖是由查詢資料庫表產生的,它限制了用戶能看到和修改的數據。由此可見,視圖可以用來控制用戶對數據的訪問,並能簡化數據的顯示,即通過視圖只顯示那些需要的數據信息。
4 圖表(Diagram)
圖表其實就是資料庫表之間的關系示意圖。利用它可以編輯表與表之間的關系。
5 預設值(Default)
預設值是當在表中創建列或插入數據時,對沒有指定其具體值的列或列數據項賦予事先設定好的值。
6 規則(Rule)
規則是對資料庫表中數據信息的限制。它限定的是表的列。
7 觸發器(Trigger)
觸發器是一個用戶定義的SQL事務命令的集合。當對一個表進行插入、更改、刪除時,這組命令就會自動執行。
8 存儲過程(Stored Procere)
存儲過程是為完成特定的功能而匯集在一起的一組SQL 程序語句,經編譯後存儲在資料庫中的SQL 程序。
9 用戶(User)
所謂用戶就是有許可權訪問資料庫的人。
H. 資料庫面向對象模型的優缺點是什麼
1.優點
A重用性 利於開發速度 如果你想開發某個功能發現他實現起來很麻煩,這個時候有另一技術能很好的解決
時其優勢就發揮出來了
B,封裝性/抽象性:結構清晰 很標准 規范化 易於理解 可讀性更強
C.繼承 容易擴展,在大框架不變的情況下很容易就開發出適合自己的功能
2.缺點
A.執行速度會打折扣
I. 使用資料庫系統的優點和缺點是什麼
一、關系資料庫系統的優點
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)問題。面向對象資料庫還解決了一個關系資料庫運行中的典型問題:應用程序語言與資料庫管理系統對數據類型支持的不一致問題,這一問題通常稱之為阻抗不匹配問題。
四、面向對象資料庫系統的缺點
a.技術還不成熟。面向對象資料庫技術的根本缺點是這項技術還不成熟,還不廣為人知。與許多新技術一樣,風險就在於應用。從事面向對象資料庫產品和編程環境的銷售活動的公司還不令人信服,因為這些公司的歷史還相當短暫,就該十幾年前關系資料庫的情況一樣。ODBMS如今還存在著標准化問題,由於缺乏標准化,許多不同的ODBMS之間不能通用。此外,是否修改SQL以適應面向對象的程序,還是用新的對象查詢語言來代替它,目前還沒有解決,這些因素表明隨著標准化的出現,ODBMS還會變化。
b.面向對象技術需要一定的訓練時間:有面向對象系統開發經驗的公司的專業人員認為,要成功地開發這種系統的關鍵是正規的訓練,訓練之所以重要是由於面向對象資料庫的開發是從關系資料庫和功能分解方法轉化而來的,人們還需要學習一套新的開發方法使之與現有技術相結合。此外,面向對象系統開發的有關原理才剛開始具有雛形,還需一段時間在可靠性、成本等方面令人可接受。
c.理論還需完善:從正規的計算機科學方面看,還需要設計出堅實的演算或理論方法來支持ODBMS的產品。此外,既不存在一套資料庫設計方法學,也沒有關於面向對象分析的一套清晰的概念模型,怎樣設計獨立於物理存儲的信息還不明確。
面向對象資料庫和關系資料庫系統之間的爭論不同於70年代關系資料庫和網狀資料庫的爭論,那時的爭論是在同一主要領域(即商業事務應用)中究竟是誰代替誰的問題。現在是肯定關系資料庫系統基本適合商業事務處理的前提下,對非傳統的應用,特別是工程中的應用用面向對象資料庫來補充不足的問題。面向對象資料庫系統將成為下一代資料庫的典型代表,並和關系資料庫系統並存(而不是替代)。它將在不同的應用領域支持不同的應用需求。