時(shí)間:2022-11-02 06:30:01 | 來(lái)源:信息時(shí)代
時(shí)間:2022-11-02 06:30:01 來(lái)源:信息時(shí)代
面向?qū)ο髷?shù)據(jù)庫(kù)管理系統(tǒng) : 基于面向?qū)ο髷?shù)據(jù)模型,提供面向?qū)ο髷?shù)據(jù)庫(kù)語(yǔ)言,支持面向?qū)ο髷?shù)據(jù)庫(kù)設(shè)計(jì),實(shí)現(xiàn)復(fù)雜數(shù)據(jù)管理的數(shù)據(jù)庫(kù)管理系統(tǒng)。開發(fā)面向?qū)ο髷?shù)據(jù)庫(kù)管理系統(tǒng)基本上采用以下三種途徑:
(1)面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言的持久化: 這種面向?qū)ο髷?shù)據(jù)庫(kù)系統(tǒng)的實(shí)現(xiàn)方法是充分利用面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言的編程能力,以其為核心,增加傳統(tǒng)數(shù)據(jù)庫(kù)的功能,使其成為具有持久性數(shù)據(jù)管理能力的程序設(shè)計(jì)語(yǔ)言,形成面向?qū)ο髷?shù)據(jù)庫(kù)管理系統(tǒng)。這一途徑主要采用ODMG標(biāo)準(zhǔn),典型產(chǎn)品有Gemstone和ObjectStore等。
Gemstone系統(tǒng)是美國(guó)Servio Logic公司自1986年開始開發(fā)的面向?qū)ο髷?shù)據(jù)庫(kù)系統(tǒng)。它支持對(duì)象標(biāo)識(shí)、復(fù)雜對(duì)象和大對(duì)象。其數(shù)據(jù)庫(kù)語(yǔ)言合成數(shù)據(jù)定義與操作,是一種可擴(kuò)展的、計(jì)算完備的語(yǔ)言,支持對(duì)象封裝、類、繼承和滯后聯(lián)編(late binding)。Gemstone系統(tǒng)采用客戶/服務(wù)器(C/S)結(jié)構(gòu),提供異構(gòu)的分布式處理能力。Gemstone系統(tǒng)提供了C、C++、Smalltalk語(yǔ)言的接口。
ObjectStore是美國(guó)Object Design公司于1989年推出的面向?qū)ο髷?shù)據(jù)庫(kù)產(chǎn)品。它的優(yōu)點(diǎn)在于將C++與數(shù)據(jù)庫(kù)功能充分相結(jié)合,用對(duì)象的概念將兩者統(tǒng)一,將對(duì)象區(qū)分為臨時(shí)性和持久性兩種,C++中的對(duì)象為臨時(shí)性對(duì)象,數(shù)據(jù)庫(kù)中對(duì)象為持久性對(duì)象,這種方法將C++與數(shù)據(jù)庫(kù)統(tǒng)一于面向?qū)ο蠡靖拍钪?同時(shí)又能夠以相同形式統(tǒng)一表示,使得C++與數(shù)據(jù)庫(kù)功能融為一體。
(2)關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)的對(duì)象化: 這一途徑的思想是以關(guān)系數(shù)據(jù)庫(kù)為核心,增加面向?qū)ο蠹夹g(shù),使之具有面向?qū)ο髷?shù)據(jù)庫(kù)管理功能。這種方法主要是將關(guān)系數(shù)據(jù)庫(kù)的類型系統(tǒng)開放,允許用戶定義自己的抽象數(shù)據(jù)類型。這是一種十分自然的研發(fā)方法,其原因在于關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)積累了相當(dāng)成功的經(jīng)驗(yàn),并為業(yè)界廣泛接受,若將成熟的關(guān)系數(shù)據(jù)庫(kù)與面向?qū)ο笏枷虢Y(jié)合起來(lái),并在保持現(xiàn)有數(shù)據(jù)庫(kù)功能的基礎(chǔ)上適應(yīng)新的應(yīng)用需求,可以減少研制的工作量,縮短研制周期。這種途徑普遍采用SQL-3標(biāo)準(zhǔn)。
美國(guó)加州大學(xué)Berkeley分校研制的對(duì)象關(guān)系數(shù)據(jù)庫(kù)Postgres是這種途徑的典型代表系統(tǒng)。它開放源碼,提供多版本并發(fā)控制,支持幾乎所有SQL構(gòu)件(包括子查詢、用戶定義類型和函數(shù)等),并且可以獲得多種語(yǔ)言綁定(包括C,C++,Java,perl,tcl和python)。
(3)純粹面向?qū)ο髷?shù)據(jù)庫(kù)管理系統(tǒng): 這種途徑的構(gòu)思是基于面向?qū)ο髷?shù)據(jù)模型,一切從零開始,獨(dú)立開發(fā)面向?qū)ο髷?shù)據(jù)庫(kù)管理系統(tǒng)。該方法將面向?qū)ο蠹夹g(shù)與數(shù)據(jù)庫(kù)技術(shù)結(jié)合起來(lái),從支持對(duì)象存儲(chǔ)管理器開始構(gòu)造完全體現(xiàn)面向?qū)ο筇卣鞯臄?shù)據(jù)庫(kù)系統(tǒng),消除了數(shù)據(jù)庫(kù)系統(tǒng)與應(yīng)用之間的語(yǔ)義斷層,從而使面向?qū)ο髷?shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)更清晰,效率更高。典型代表系統(tǒng)有Iris、O2等。
Iris是在20世紀(jì)90年代初,由惠普實(shí)驗(yàn)室(Hewlett-Packard Laboratories)開發(fā)的面向?qū)ο髷?shù)據(jù)庫(kù)管理系統(tǒng)。開發(fā)Iris的目的是增強(qiáng)數(shù)據(jù)庫(kù)程序員的生產(chǎn)力和對(duì)將來(lái)各種應(yīng)用提供支持,比如在工程信息管理、工程測(cè)試與測(cè)量、知識(shí)庫(kù)系統(tǒng)方面等。
O2是O2 Technology公司于1991年推出的面向?qū)ο髷?shù)據(jù)庫(kù)管理系統(tǒng),其面向?qū)ο蟊硎灸芰?qiáng),同時(shí)數(shù)據(jù)庫(kù)管理功能也很完整,并有一套完整的開發(fā)工具。O2不僅能用于傳統(tǒng)的商務(wù)與事務(wù)應(yīng)用,而且適用于一些新的應(yīng)用領(lǐng)域,如CAD/CAM、地理和城市系統(tǒng)、編輯信息系統(tǒng)和辦公自動(dòng)化等。
O2系統(tǒng)的體系結(jié)構(gòu)如圖 1所示,其核心是O2Engine。O2Engine存儲(chǔ)結(jié)構(gòu)化多媒體對(duì)象。它控制磁盤管理(包括緩沖區(qū)、索引、聚簇和I/O)、數(shù)據(jù)分布、事務(wù)管理、并發(fā)控制、故障恢復(fù)和數(shù)據(jù)安全。
O2Engine能支持兩種類型的接口:語(yǔ)言接口(C和C++)和O2環(huán)境。語(yǔ)言接口使C或C++程序通過(guò)聲明O2模式、組裝和操作O2數(shù)據(jù)庫(kù)的方式來(lái)利用O2Engine的服務(wù)。用戶可以利用完全的O2環(huán)境。這個(gè)環(huán)境包括: 一種查詢語(yǔ)言O(shè)2Query; 一個(gè)用戶接口生成器O2Look;一種對(duì)象語(yǔ)言O(shè)2C;一個(gè)圖形化的編程環(huán)境,包含一個(gè)調(diào)試器和一個(gè)可查看模式和數(shù)據(jù)庫(kù)的瀏覽器。
O2Query類似于SQL語(yǔ)言,但是它被擴(kuò)展成能處理復(fù)雜對(duì)象。它是O2C的一個(gè)子集,但可單獨(dú)用來(lái)作為一種專門的交互式查詢語(yǔ)言或作為可由C、C++調(diào)用的函數(shù)。
圖1 O2系統(tǒng)的體系結(jié)構(gòu)
客戶&案例
營(yíng)銷資訊
關(guān)于我們
客戶&案例
營(yíng)銷資訊
關(guān)于我們
微信公眾號(hào)
版權(quán)所有? 億企邦 1997-2022 保留一切法律許可權(quán)利。