国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > 綜合 > 正文

正確認(rèn)識對象數(shù)據(jù)庫與關(guān)系數(shù)據(jù)庫之間的區(qū)別

2024-07-21 02:41:50
字體:
供稿:網(wǎng)友

面向?qū)ο髷?shù)據(jù)庫系統(tǒng)

面向?qū)ο髷?shù)據(jù)庫系統(tǒng)(Object Oriented Data Base System,簡稱OODBS)是數(shù)據(jù)庫技術(shù)與面向?qū)ο蟪绦蛟O(shè)計方法相結(jié)合的產(chǎn)物。

對于OO數(shù)據(jù)模型和面向?qū)ο髷?shù)據(jù)庫系統(tǒng)的研究主要體現(xiàn)在:研究以關(guān)系數(shù)據(jù)庫和SQL為基礎(chǔ)的擴(kuò)展關(guān)系模型;以面向?qū)ο蟮某绦蛟O(shè)計語言為基礎(chǔ),研究持久的程序設(shè)計語言,支持OO模型;建立新的面向?qū)ο髷?shù)據(jù)庫系統(tǒng),支持OO數(shù)據(jù)模型。

面向?qū)ο蟪绦蛟O(shè)計方法是一種支持模塊化設(shè)計和軟件重用的實際可行的編程方法。它把程序設(shè)計的主要活動集中在建立對象和對象之間的聯(lián)系(或通信)上,從而完成所需要的計算。一個面向?qū)ο蟮某绦蚓褪窍嗷ヂ?lián)系(或通信)的對象集合。面向?qū)ο蟪绦蛟O(shè)計的基本思想是封裝和可擴(kuò)展性。

面向?qū)ο髷?shù)據(jù)庫系統(tǒng)支持面向?qū)ο髷?shù)據(jù)模型(以下簡稱OO模型)。即面向?qū)ο髷?shù)據(jù)庫系統(tǒng)是一個持久的、可共享的對象庫的存儲和管理者;而一個對象庫是由一個OO模型所定義的對象的集合體。

一個OO模型是用面向?qū)ο笥^點來描述現(xiàn)實世界實體(對象)的邏輯組織、對象間限制、聯(lián)系等的模型。一系列面向?qū)ο蠛诵母拍顦?gòu)成了OO模型的基礎(chǔ)。概括起來,OO模型的核心概念有如下一些:


(1)對象(Object)與對象標(biāo)識OID(Object IDentifier)
現(xiàn)實世界的任一實體都被統(tǒng)一地模型化為一個對象,每個對象有一個唯一的標(biāo)識,稱為對象標(biāo)識(OID)。

(2)封裝(Encapsulation)
每一個對象是其狀態(tài)與行為的封裝,其中狀態(tài)是該對象一系列屬性(Attribute)值的集合,而行為是在對象狀態(tài)上操作的集合,操作也稱為方法(Method)。

(3)類(C1ass)
共享同樣屬性和方法集的所有對象構(gòu)成了一個對象類(簡稱類),一個對象是某一類的一個實例(instance)。

(4)類層次(結(jié)構(gòu))
在一個面向?qū)ο髷?shù)據(jù)庫模式中,可以定義一個類(如C1)的子類(如C2),類Cl稱為類C2的超類(或父類)。子類(如C2)還可以再定義子類(如C3)。這樣,面向?qū)ο髷?shù)據(jù)庫模式的一組類形成一個有限的層次結(jié)構(gòu),稱為類層次。

(5)消息(Message)
由于對象是封裝的,對象與外部的通信一般只能通過顯式的消息傳遞,即消息從外部傳送給對象,存取和調(diào)用對象中的屬性和方法,在內(nèi)部執(zhí)行所要求的操作,操作的結(jié)果仍以消息的形式返回。

OODB語言用于描述面向?qū)ο髷?shù)據(jù)庫模式,說明并操縱類定義與對象實例。OODB語言主要包括對象定義語言(ODL)和對象操縱語言(OML),對象操縱語言中一個重要子集是對象查詢語言(OQL)。OODB語言一般應(yīng)具備下述功能:


(1)類的定義與操縱
面向?qū)ο髷?shù)據(jù)庫語言可以操縱類,包括定義、生成、存取、修改與撤銷類。其中類的定義包括定義類的屬性、操作特征、繼承性與約束等。

(2)操作/方法的定義
面向?qū)ο髷?shù)據(jù)庫語言可用于對象操作/方法的定義與實現(xiàn)。在操作實現(xiàn)中,語言的命令可用于操作對象的局部數(shù)據(jù)結(jié)構(gòu)。對象模型中的封裝性允許操作/方法由不同程序設(shè)計語言來實現(xiàn),并且隱藏不同程序設(shè)計語言實現(xiàn)的事實。

(3)對象的操縱
面向?qū)ο髷?shù)據(jù)庫語言可以用于操縱(即生成、存取。修改與刪除)實例對象。

目前,還沒有像SQL那樣的關(guān)于面向?qū)ο髷?shù)據(jù)庫語言的標(biāo)準(zhǔn),因此不同的OODBMS其具體的數(shù)據(jù)庫語言各不相同。

對象數(shù)據(jù)庫系統(tǒng)


對象-關(guān)系數(shù)據(jù)庫系統(tǒng)就是將關(guān)系數(shù)據(jù)庫系統(tǒng)與面向?qū)ο髷?shù)據(jù)庫系統(tǒng)兩方面的特征相結(jié)合。 對象-關(guān)系數(shù)據(jù)庫系統(tǒng)除了具有原來關(guān)系數(shù)據(jù)庫的各種特點外,還應(yīng)該提供以下特點:

(1)擴(kuò)充數(shù)據(jù)類型,例如可以定義數(shù)組、向量、矩陣、集合等數(shù)據(jù)類型以及這些數(shù)據(jù)類型上的操作。
(2)支持復(fù)雜對象,即由多種基本數(shù)據(jù)類型或用戶自定義的數(shù)據(jù)類型構(gòu)成的對象。
(3)支持繼承的概念。
(4)提供通用的規(guī)則系統(tǒng),大大增強對象-關(guān)系數(shù)據(jù)庫的功能,使之具有主動數(shù)據(jù)庫和知識庫的特性。

對象數(shù)據(jù)庫 VS 關(guān)系數(shù)據(jù)庫

我們將對象數(shù)據(jù)庫管理系統(tǒng)(ODBMS)定義為一個集成了數(shù)據(jù)庫能力與面向?qū)ο缶幊陶Z言能力的數(shù)據(jù)庫管理系統(tǒng)(DBMS),ODBMS使數(shù)據(jù)庫對象看起來像是已有的一個或多個程序設(shè)計語言中的程序設(shè)計語言以象。——Rick Cattell,OMG-93委員會主席。

ODBMS在多用戶客戶機(jī)/服務(wù)器環(huán)境中提供了持久性存儲器。ODBMS可以處理對象的并行訪問,提供鎖定和事務(wù)保護(hù),保護(hù)對象存儲器免遭各種類型的威脅,照管像備份和恢復(fù)之類傳統(tǒng)任務(wù)。ODBMS這所以與關(guān)系數(shù)據(jù)庫不同,是因為ODBMS存儲的是對象,而不是表格。對象的引用通過持久性標(biāo)識(PID)進(jìn)行,PID可以獨一無二地識別各個對象,可以用來在對象之間建立標(biāo)記和容器關(guān)系。ODBMS還加強了封裝,支持繼承。ODBMS結(jié)合了對象屬性和傳統(tǒng)的DBMS功能,如鎖定、保護(hù)、事務(wù)處理、查詢、版式本、并發(fā)和持久性。

ODBMS不是利用分離的語言(如SQL)定義、檢索和處理數(shù)據(jù),而是利用類定義和傳統(tǒng)的面向?qū)ο蟮某绦蛘Z言(通常是C++、SmallTalk和java語言)構(gòu)造來定義和訪問數(shù)據(jù)。ODBMS只來過是存儲器內(nèi)語言數(shù)據(jù)結(jié)構(gòu)的多用戶、持久性擴(kuò)展。換句話說,客戶就是C++或是Java程序,服務(wù)器就是ODBMS-——沒有像SQL和RPC這樣的可視中間對象。ODBMS將數(shù)據(jù)庫能力直接集成進(jìn)語言。

ODBMS的價值。很顯然,最好是以自然的形式存儲那些對象,而不是將數(shù)據(jù)修飾得光光滑滑或撕得七零八落之后放進(jìn)關(guān)系表格中。

對于那些數(shù)據(jù)復(fù)雜難以在表格里簡單排列的用戶來說,ODBMS特別適合。ODBMS曾經(jīng)長期是學(xué)者和OO研究人員極為感興趣的領(lǐng)域。最早的商品化ODBMS出現(xiàn)在1986年,是Servio公司(現(xiàn)在的GemStone公司)和Ontos公司推出的。后來(九十年代)Object Design(ODI)、Versant、Objectivity、O2 Technology、Poet、Ibex、UniSQL和ADB MATISSE等公司也加入了這個開拓行列。這些ODBMS廠商首先瞄準(zhǔn)了那些復(fù)雜數(shù)據(jù)結(jié)構(gòu)和長命期事務(wù)處理的應(yīng)用程序——包括計算機(jī)輔助設(shè)計、CASE和智能辦公室等。隨著多媒體、群件、公布式對象和萬維網(wǎng)技術(shù)的出現(xiàn),ODBMS與那些深奧難懂的特性現(xiàn)在變成了客戶機(jī)/服務(wù)器系統(tǒng)的主流要求。ODBMS技術(shù)填補關(guān)系數(shù)據(jù)庫最弱的那些空隙——復(fù)雜數(shù)據(jù)、版式本和長生命期事務(wù)、持久性對象存儲、繼承和用戶定義的數(shù)據(jù)類型等等。

以下是ODBMS廠商開拓的各個特性:

1、自由創(chuàng)建新的信息類型。
2、快速存取。
3、組合結(jié)構(gòu)的靈活視圖 。
4、與面向?qū)ο蟮某绦蛘Z言緊密集成。
5、利用多繼承支持可定制的信息結(jié)構(gòu)。
6、支持版本事務(wù)、嵌套事務(wù)和長生命期事務(wù)。
7、分布式對象儲庫。
8、支持復(fù)合對象的生命期管理。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 长治市| 桐柏县| 原阳县| 都匀市| 五河县| 惠州市| 海口市| 宁乡县| 勃利县| 江安县| 林周县| 云龙县| 万州区| 工布江达县| 津市市| 夹江县| 石门县| 昌吉市| 苍南县| 西林县| 濮阳市| 鹤山市| 那曲县| 杭锦后旗| 平顺县| 沁水县| 沾化县| 垫江县| 吴堡县| 阿克陶县| 东海县| 瑞安市| 大石桥市| 日照市| 阿尔山市| 大姚县| 辛集市| 南宫市| 宽甸| 凌海市| 巨鹿县|