資源描述:
《對(duì)象關(guān)系模型數(shù)據(jù)庫(kù)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫(kù)。
1、面向?qū)ο髷?shù)據(jù)庫(kù)系統(tǒng)(ObjectOrientedDataBaseSystem,簡(jiǎn)稱OODBS)是數(shù)據(jù)庫(kù)技術(shù)與面向?qū)ο蟪绦蛟O(shè)計(jì)方法相結(jié)合的產(chǎn)物。???對(duì)于OO數(shù)據(jù)模型和面向?qū)ο髷?shù)據(jù)庫(kù)系統(tǒng)的研究主要體現(xiàn)在:研究以關(guān)系數(shù)據(jù)庫(kù)和SQL為基礎(chǔ)的擴(kuò)展關(guān)系模型;以面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言為基礎(chǔ),研究持久的程序設(shè)計(jì)語(yǔ)言,支持OO模型;建立新的面向?qū)ο髷?shù)據(jù)庫(kù)系統(tǒng),支持OO數(shù)據(jù)模型。???面向?qū)ο蟪绦蛟O(shè)計(jì)方法是一種支持模塊化設(shè)計(jì)和軟件重用的實(shí)際可行的編程方法。它把程序設(shè)計(jì)的主要活動(dòng)集中在建立對(duì)象和對(duì)象之間的聯(lián)系(或通信)上,從而完成所需要的計(jì)算。一個(gè)面
2、向?qū)ο蟮某绦蚓褪窍嗷ヂ?lián)系(或通信)的對(duì)象集合。面向?qū)ο蟪绦蛟O(shè)計(jì)的基本思想是封裝和可擴(kuò)展性。???面向?qū)ο髷?shù)據(jù)庫(kù)系統(tǒng)支持面向?qū)ο髷?shù)據(jù)模型(以下簡(jiǎn)稱OO模型)。即面向?qū)ο髷?shù)據(jù)庫(kù)系統(tǒng)是一個(gè)持久的、可共享的對(duì)象庫(kù)的存儲(chǔ)和管理者;而一個(gè)對(duì)象庫(kù)是由一個(gè)OO模型所定義的對(duì)象的集合體。???一個(gè)OO模型是用面向?qū)ο笥^點(diǎn)來(lái)描述現(xiàn)實(shí)世界實(shí)體(對(duì)象)的邏輯組織、對(duì)象間限制、聯(lián)系等的模型。一系列面向?qū)ο蠛诵母拍顦?gòu)成了OO模型的基礎(chǔ)。概括起來(lái),OO模型的核心概念有如下一些:???(1)對(duì)象(Object)與對(duì)象標(biāo)識(shí)OID(ObjectIDentifier)
3、???現(xiàn)實(shí)世界的任一實(shí)體都被統(tǒng)一地模型化為一個(gè)對(duì)象,每個(gè)對(duì)象有一個(gè)唯一的標(biāo)識(shí),稱為對(duì)象標(biāo)識(shí)(OID)。???(2)封裝(Encapsulation)???每一個(gè)對(duì)象是其狀態(tài)與行為的封裝,其中狀態(tài)是該對(duì)象一系列屬性(Attribute)值的集合,而行為是在對(duì)象狀態(tài)上操作的集合,操作也稱為方法(Method)。???(3)類(C1ass)???共享同樣屬性和方法集的所有對(duì)象構(gòu)成了一個(gè)對(duì)象類(簡(jiǎn)稱類),一個(gè)對(duì)象是某一類的一個(gè)實(shí)例(instance)。???(4)類層次(結(jié)構(gòu))???在一個(gè)面向?qū)ο髷?shù)據(jù)庫(kù)模式中,可以定義一個(gè)類(如C1)的子
4、類(如C2),類Cl稱為類C2的超類(或父類)。子類(如C2)還可以再定義子類(如C3)。這樣,面向?qū)ο髷?shù)據(jù)庫(kù)模式的一組類形成一個(gè)有限的層次結(jié)構(gòu),稱為類層次。???(5)消息(Message)???由于對(duì)象是封裝的,對(duì)象與外部的通信一般只能通過(guò)顯式的消息傳遞,即消息從外部傳送給對(duì)象,存取和調(diào)用對(duì)象中的屬性和方法,在內(nèi)部執(zhí)行所要求的操作,操作的結(jié)果仍以消息的形式返回。???OODB語(yǔ)言用于描述面向?qū)ο髷?shù)據(jù)庫(kù)模式,說(shuō)明并操縱類定義與對(duì)象實(shí)例。OODB語(yǔ)言主要包括對(duì)象定義語(yǔ)言(ODL)和對(duì)象操縱語(yǔ)言(OML),對(duì)象操縱語(yǔ)言中一個(gè)重要子集
5、是對(duì)象查詢語(yǔ)言(OQL)。OODB語(yǔ)言一般應(yīng)具備下述功能:???(1)類的定義與操縱???面向?qū)ο髷?shù)據(jù)庫(kù)語(yǔ)言可以操縱類,包括定義、生成、存取、修改與撤銷類。其中類的定義包括定義類的屬性、操作特征、繼承性與約束等。???(2)操作/方法的定義???面向?qū)ο髷?shù)據(jù)庫(kù)語(yǔ)言可用于對(duì)象操作/方法的定義與實(shí)現(xiàn)。在操作實(shí)現(xiàn)中,語(yǔ)言的命令可用于操作對(duì)象的局部數(shù)據(jù)結(jié)構(gòu)。對(duì)象模型中的封裝性允許操作/方法由不同程序設(shè)計(jì)語(yǔ)言來(lái)實(shí)現(xiàn),并且隱藏不同程序設(shè)計(jì)語(yǔ)言實(shí)現(xiàn)的事實(shí)。???(3)對(duì)象的操縱???面向?qū)ο髷?shù)據(jù)庫(kù)語(yǔ)言可以用于操縱(即生成、存取。修改與刪除)實(shí)例
6、對(duì)象。???目前,還沒(méi)有像SQL那樣的關(guān)于面向?qū)ο髷?shù)據(jù)庫(kù)語(yǔ)言的標(biāo)準(zhǔn),因此不同的OODBMS其具體的數(shù)據(jù)庫(kù)語(yǔ)言各不相同。???對(duì)象-關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)就是將關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)與面向?qū)ο髷?shù)據(jù)庫(kù)系統(tǒng)兩方面的特征相結(jié)合。對(duì)象-關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)除了具有原來(lái)關(guān)系數(shù)據(jù)庫(kù)的各種特點(diǎn)外,還應(yīng)該提供以下特點(diǎn):???(1)擴(kuò)充數(shù)據(jù)類型,例如可以定義數(shù)組、向量、矩陣、集合等數(shù)據(jù)類型以及這些數(shù)據(jù)類型上的操作。???(2)支持復(fù)雜對(duì)象,即由多種基本數(shù)據(jù)類型或用戶自定義的數(shù)據(jù)類型構(gòu)成的對(duì)象。???(3)支持繼承的概念???(4)提供通用的規(guī)則系統(tǒng),大大增強(qiáng)對(duì)象-關(guān)系數(shù)據(jù)
7、庫(kù)的功能,使之具有主動(dòng)數(shù)據(jù)庫(kù)和知識(shí)庫(kù)的特性。對(duì)象數(shù)據(jù)庫(kù)VS關(guān)系數(shù)據(jù)庫(kù)我們將對(duì)象數(shù)據(jù)庫(kù)管理系統(tǒng)(ODBMS)定義為一個(gè)集成了數(shù)據(jù)庫(kù)能力與面向?qū)ο缶幊陶Z(yǔ)言能力的數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS),ODBMS使數(shù)據(jù)庫(kù)對(duì)象看起來(lái)像是已有的一個(gè)或多個(gè)程序設(shè)計(jì)語(yǔ)言中的程序設(shè)計(jì)語(yǔ)言以象。——RickCattell,OMG-93委員會(huì)主席。ODBMS在多用戶客戶機(jī)/服務(wù)器環(huán)境中提供了持久性存儲(chǔ)器。ODBMS可以處理對(duì)象的并行訪問(wèn),提供鎖定和事務(wù)保護(hù),保護(hù)對(duì)象存儲(chǔ)器免遭各種類型的威脅,照管像備份和恢復(fù)之類傳統(tǒng)任務(wù)。ODBMS這所以與關(guān)系數(shù)據(jù)庫(kù)不同,是因?yàn)镺
8、DBMS存儲(chǔ)的是對(duì)象,而不是表格。對(duì)象的引用通過(guò)持久性標(biāo)識(shí)(PID)進(jìn)行,PID可以獨(dú)一無(wú)二地識(shí)別各個(gè)對(duì)象,可以用來(lái)在對(duì)象之間建立標(biāo)記和容器關(guān)系。ODBMS還加強(qiáng)了封裝,支持繼承。ODBMS結(jié)合了對(duì)象屬性和傳統(tǒng)的DBMS功能,如鎖定、保護(hù)、事務(wù)處理