面向?qū)ο蠓椒ㄅc技術(shù):面向?qū)ο蟮臄?shù)據(jù)庫_第1頁
面向?qū)ο蠓椒ㄅc技術(shù):面向?qū)ο蟮臄?shù)據(jù)庫_第2頁
面向?qū)ο蠓椒ㄅc技術(shù):面向?qū)ο蟮臄?shù)據(jù)庫_第3頁
面向?qū)ο蠓椒ㄅc技術(shù):面向?qū)ο蟮臄?shù)據(jù)庫_第4頁
面向?qū)ο蠓椒ㄅc技術(shù):面向?qū)ο蟮臄?shù)據(jù)庫_第5頁
已閱讀5頁,還剩90頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

面向?qū)ο蠓椒ㄅc技術(shù)面向?qū)ο髷?shù)據(jù)庫系統(tǒng)面向?qū)ο髷?shù)據(jù)模型面向?qū)ο髷?shù)據(jù)庫語言面向?qū)ο髷?shù)據(jù)庫的應(yīng)用現(xiàn)有主要的面向?qū)ο髷?shù)據(jù)庫系統(tǒng)介紹面向?qū)ο蟮臄?shù)據(jù)庫系統(tǒng)

傳統(tǒng)的關(guān)系數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)模型簡(jiǎn)單,無法滿足新的計(jì)算機(jī)應(yīng)用特別是非事務(wù)處理領(lǐng)域?qū)?shù)據(jù)庫支撐要求的需要,如:計(jì)算機(jī)輔助設(shè)計(jì)與制造(CAD/CAM)計(jì)算機(jī)集成制造(CIM)計(jì)算機(jī)輔助軟件工程(CASE)地理信息系統(tǒng)(GIS)物流資源規(guī)劃(MRP,MRP2)企業(yè)資源規(guī)劃(ERP)面向?qū)ο蟮臄?shù)據(jù)庫系統(tǒng)新的應(yīng)用需求的主要特征是:1)數(shù)據(jù)模型要能描述復(fù)雜對(duì)象,能表達(dá)更豐富的語義。2)數(shù)據(jù)類型從單一的格式化數(shù)據(jù)擴(kuò)展為多媒體(圖象、圖形、聲音)等非格式化的多種類型。3)支持長(zhǎng)事務(wù)(以小時(shí)、天計(jì))、版本管理和動(dòng)態(tài)模式修改等。面向?qū)ο蟮臄?shù)據(jù)庫系統(tǒng)解決方法:開發(fā)各種專用數(shù)據(jù)庫系統(tǒng):RDBS的擴(kuò)充如:工程數(shù)據(jù)庫、多媒體數(shù)據(jù)庫、圖形數(shù)據(jù)庫及圖像數(shù)據(jù)庫等……不足:只能滿足專門應(yīng)用的需要,缺乏通用性面向?qū)ο蟮臄?shù)據(jù)庫系統(tǒng)開發(fā)新的數(shù)據(jù)模型與數(shù)據(jù)庫系統(tǒng):新一代的數(shù)據(jù)模型與數(shù)據(jù)庫系統(tǒng)的主要特征與要求應(yīng)該是:有構(gòu)造復(fù)雜數(shù)據(jù)結(jié)構(gòu)與模式的能力:嵌套、遞歸、抽象、分類、組裝、分解……具有多種數(shù)據(jù)類型及構(gòu)造抽象數(shù)據(jù)類型的能力:聚集、時(shí)間、空間、幾何形狀、變長(zhǎng)、大容量、……具有多種操作能力,特別是操作復(fù)雜語義模型的能力,如:旋轉(zhuǎn)、放大、……具有對(duì)數(shù)據(jù)模型進(jìn)行擴(kuò)充演化的能力:模式修改面向?qū)ο蟮臄?shù)據(jù)庫系統(tǒng)發(fā)現(xiàn)把面向?qū)ο蟮某绦蛟O(shè)計(jì)方法和數(shù)據(jù)庫相結(jié)合是最有希望的方法。它提供了表示、管理程序的數(shù)據(jù)兩者的統(tǒng)一框架。把面向?qū)ο蟮姆椒ê蛿?shù)據(jù)庫技術(shù)結(jié)合起來建造面向?qū)ο蟮臄?shù)據(jù)庫系統(tǒng)(Object-OrientedDatabaseSystems,簡(jiǎn)稱OODBS)面向?qū)ο蟮臄?shù)據(jù)庫系統(tǒng)OODB實(shí)現(xiàn)途徑:

以關(guān)系數(shù)據(jù)庫和SQL為基礎(chǔ)的擴(kuò)展關(guān)系模型。以面向?qū)ο蟮某绦蛟O(shè)計(jì)語言為基礎(chǔ),研究持久的程序設(shè)計(jì)語言,支持OO模型。建立新的面向?qū)ο髷?shù)據(jù)庫系統(tǒng),支持OO模型。面向?qū)ο蟮臄?shù)據(jù)庫系統(tǒng)面向?qū)ο髷?shù)據(jù)模型以及采用該模型的數(shù)據(jù)庫系統(tǒng)能夠滿足上述主要特征與要求。以面向?qū)ο髷?shù)據(jù)模型為核心的數(shù)據(jù)庫系統(tǒng)稱為面向?qū)ο髷?shù)據(jù)庫系統(tǒng)(objectorienteddatabasesystem,簡(jiǎn)稱OODBS)。同樣,以面向?qū)ο髷?shù)據(jù)模型為核心的數(shù)據(jù)庫管理系統(tǒng)稱為面向?qū)ο髷?shù)據(jù)庫管理系統(tǒng)(objectorienteddatabasemanagementsystem,簡(jiǎn)稱OODBMS)。面向?qū)ο蟮臄?shù)據(jù)庫系統(tǒng)關(guān)系模型與關(guān)系數(shù)據(jù)庫系統(tǒng)目前仍是在商業(yè)、事務(wù)處理、OA、MIS等傳統(tǒng)數(shù)據(jù)庫應(yīng)用領(lǐng)域占主導(dǎo)地位的數(shù)據(jù)庫系統(tǒng)。而對(duì)非傳統(tǒng)應(yīng)用,關(guān)系數(shù)據(jù)庫系統(tǒng)的支撐度就較為低下,因此,從90年代初開始陸續(xù)出現(xiàn)了一些商品化的面向?qū)ο髷?shù)據(jù)庫管理系統(tǒng),著名的如ObjectStore、O2,ONTOS等,并在非傳統(tǒng)應(yīng)用領(lǐng)域中發(fā)揮了重大作用。面向?qū)ο蟮臄?shù)據(jù)庫系統(tǒng)到90年代中期,不少關(guān)系數(shù)據(jù)庫廠家如Oracle、Sybase、SQLServer、DB2以及Ingres、Informix等,經(jīng)過不斷努力都在其推出的新版本中不同程度地采用了面向?qū)ο笾械囊恍┧枷肱c機(jī)制。由于這類數(shù)據(jù)庫系統(tǒng)的本質(zhì)還是關(guān)系數(shù)據(jù)庫,因此我們稱其為‘對(duì)象-關(guān)系數(shù)據(jù)庫系統(tǒng)’,采用的數(shù)據(jù)模型相應(yīng)被稱為‘對(duì)象-關(guān)系數(shù)據(jù)模型’。在通常情況下,我們也將‘對(duì)象-關(guān)系數(shù)據(jù)庫系統(tǒng)’作為‘面向?qū)ο髷?shù)據(jù)庫系統(tǒng)’的實(shí)現(xiàn)途徑之一。面向?qū)ο髷?shù)據(jù)模型OO是一種方法使用OO方法不僅可以認(rèn)識(shí)客觀世界,而且也可以表示客觀世界,其特點(diǎn)是通過可構(gòu)造的手段將客觀要求表示出來,也就是說可用有限的構(gòu)造手段與有限的步驟建立起一個(gè)客觀世界的模型。目前該方法已廣泛應(yīng)用在計(jì)算機(jī)的各個(gè)方面:面向?qū)ο蟪绦蛟O(shè)計(jì)語言(OOP)面向?qū)ο蠓治觯∣OA)面向?qū)ο笤O(shè)計(jì)(OOD)面向?qū)ο髷?shù)據(jù)庫(OODB)面向?qū)ο笥脩艚缑婷嫦驅(qū)ο蟮捏w系結(jié)構(gòu)……面向?qū)ο蠓椒ǖ幕舅枷隣O方法與傳統(tǒng)方法的比較“面向計(jì)算”方法:ComputerOriented是一種模塊化、樹狀層次結(jié)構(gòu)方法。該方法以便于計(jì)算機(jī)實(shí)現(xiàn)為主要目的,較少考慮其客觀世界的實(shí)際背景。特點(diǎn):在計(jì)算機(jī)中的實(shí)現(xiàn)方便,但模型構(gòu)筑困難。(距客觀世界較遠(yuǎn),工具不統(tǒng)一)面向?qū)ο蠓椒ǖ幕舅枷搿懊嫦驅(qū)ο蟆狈椒ǎ篛bjectOriented以客觀世界中的“實(shí)體”為中心的方法,能夠較好地反映客觀世界的實(shí)際要求,也可以通過OO工具在計(jì)算機(jī)中方便地實(shí)現(xiàn)。特點(diǎn):統(tǒng)一的建模工具(OOA,OOD)易于實(shí)現(xiàn)(OOP,OODB)實(shí)現(xiàn)了方法的一致化和接口的無縫性面向?qū)ο蠓椒ǖ幕舅枷肜簲?shù)據(jù)庫設(shè)計(jì)(RDB與OODB)客觀世界關(guān)系數(shù)據(jù)庫的實(shí)現(xiàn)途徑ER模型關(guān)系模型計(jì)算機(jī)實(shí)現(xiàn)面向?qū)ο髷?shù)據(jù)庫的實(shí)現(xiàn)途徑面向?qū)ο竽P兔嫦驅(qū)ο蠓椒ǖ幕靖拍?/p>

1.對(duì)象(object)客觀世界中的任意一個(gè)實(shí)體。組成對(duì)象標(biāo)識(shí),靜態(tài)特征,動(dòng)態(tài)行為面向?qū)ο蠓椒ǖ幕靖拍?.屬性(attribute)反映對(duì)象的狀態(tài)與特性,是每個(gè)對(duì)象固有的靜態(tài)表示。屬性型屬性名,數(shù)據(jù)類型屬性值可以賦予該屬性的數(shù)值。屬性值的多值性結(jié)構(gòu)化值、集合值、OID例學(xué)生(學(xué)號(hào),姓名,性別,出生日期,系別,所修課程)面向?qū)ο蠓椒ǖ幕靖拍?.方法(method)又稱為‘操作’(operation),用于反映對(duì)象的行為特征,是對(duì)象的固有動(dòng)態(tài)行為的表示,可用于審視并改變對(duì)象的內(nèi)部狀態(tài)(屬性值)。方法的表示方法的接口:是方法的外部表示,如方法的名稱,調(diào)用參數(shù)及返回結(jié)果的類型。方法的實(shí)現(xiàn):代碼面向?qū)ο蠓椒ǖ幕靖拍?.對(duì)象標(biāo)識(shí)符OID(objectidentifier)外界賦予每個(gè)對(duì)象的一個(gè)具有唯一性的名字,是區(qū)分不同對(duì)象的唯一標(biāo)記。以替代傳統(tǒng)觀念中的“關(guān)鍵字”從上述的介紹內(nèi)容可以知道,每個(gè)對(duì)象都是由一組屬性、一組方法和一個(gè)具有唯一性的OID組成的,這樣的對(duì)象具有穩(wěn)定性、封裝性和隱蔽性三個(gè)特性。面向?qū)ο蠓椒ǖ幕靖拍?.穩(wěn)定性(stationary)以屬性(數(shù)據(jù))為核心,以方法(程序)為附屬體,可構(gòu)成一個(gè)穩(wěn)定的實(shí)體。6.封裝性(encapsulation)對(duì)象的封裝性將一個(gè)對(duì)象劃分為兩個(gè)部分對(duì)象的內(nèi)部表示(即對(duì)象中的屬性組成與方法實(shí)現(xiàn))對(duì)象的外部表示(即方法接口,亦稱對(duì)象界面)。對(duì)象封裝的優(yōu)點(diǎn)有利于對(duì)象代碼及數(shù)據(jù)結(jié)構(gòu)的維護(hù)提高對(duì)象的可靠性與可重用性。面向?qū)ο蠓椒ǖ幕靖拍?.隱蔽性(hiding)對(duì)象的外部界面與內(nèi)部表示的分離,使得外界只能通過方法的外部接口來訪問該對(duì)象,而對(duì)象的屬性組成和方法的內(nèi)部實(shí)現(xiàn)則是不可見的。對(duì)象的隱蔽性屏蔽了對(duì)象的內(nèi)部實(shí)現(xiàn)細(xì)節(jié),簡(jiǎn)化外界對(duì)對(duì)象的認(rèn)識(shí)與了解,方便了用戶的使用。面向?qū)ο蠓椒ǖ幕靖拍?.消息(message)消息是對(duì)象間的一種協(xié)作機(jī)制,一個(gè)對(duì)象可以通過向另一個(gè)對(duì)象發(fā)送消息來調(diào)用另一個(gè)對(duì)象中的方法,以獲得其協(xié)作來共同完成某一個(gè)任務(wù)。消息僅作用于對(duì)象界面,再通過對(duì)象界面調(diào)用相應(yīng)的方法來進(jìn)一步影響與改變對(duì)象自身。用戶對(duì)一個(gè)對(duì)象所做的操作也可以看成是一條發(fā)向該對(duì)象的消息,并通過該消息執(zhí)行對(duì)象中的方法,以實(shí)現(xiàn)用戶的操作要求或獲得操作結(jié)果。面向?qū)ο蠓椒ǖ幕靖拍钕⒌慕M成:TypeA.Op(O1,O2,……,On)接收者:對(duì)象A操作名:Op操作參數(shù)及其返回結(jié)果的類型:O1,O2,……,On及Type例:intV1.weight(){return(V1.車廂.weight()+V1.底盤.weight()+V1.驅(qū)動(dòng)設(shè)備.weight());}面向?qū)ο蠓椒ǖ幕靖拍?.類(class)具有相同屬性與方法的對(duì)象集合稱為類。實(shí)例(instance):類中的對(duì)象類的定義可以簡(jiǎn)化人們對(duì)復(fù)雜世界的了解。例:類名屬性方法學(xué)生學(xué)號(hào),姓名,性別,出生日期,系別,年級(jí),所修課程選課,登記成績(jī),統(tǒng)計(jì)學(xué)分績(jī),升級(jí),轉(zhuǎn)系

面向?qū)ο蠓椒ǖ幕靖拍钣辛祟惡螅愔袑?shí)例的屬性與方法可以統(tǒng)一說明,同時(shí)類也可有一個(gè)統(tǒng)一的界面,消息不僅可以作為對(duì)象間作用的工具,更重要的可作為類間溝通的工具。

面向?qū)ο蠓椒ǖ幕靖拍钔粋€(gè)類中的屬性由于實(shí)例的不一致而可能導(dǎo)致值的不一致,因此類的屬性實(shí)際上是個(gè)變量(Instancevariable)。類常量(Classvalue):在特殊情況下有些變量值在該類中是一致的,此時(shí)該變量稱為類常量。如:人的耳朵有兩個(gè)缺省值(defaultvalue):有些類的屬性規(guī)定有缺省值。在創(chuàng)建一個(gè)新的對(duì)象(實(shí)例)時(shí),如果沒有給某個(gè)屬性明確賦值,則該屬性的取值就是其缺省值。類與類之間的關(guān)系:繼承與合成面向?qū)ο蠓椒ǖ幕靖拍?0.繼承(inheritance)在客觀世界中存在著許多各種各樣的對(duì)象和它們之間的復(fù)雜關(guān)系,為理解這些關(guān)系,常用的手法是對(duì)它們進(jìn)行分類。例如:面向?qū)ο蠓椒ǖ幕靖拍钸@樣的分類有一些非常明顯的特點(diǎn):層次性:不循環(huán)繼承性:下面的分類具有上面分類的部分/全部特性與行為,同時(shí)也有它自己的特性與行為。包含語義:上面的分類集合包含下面分類集合。這樣的分類關(guān)系我們稱之為‘繼承’。其中,下層的分類我們稱其為上層分類的‘子類’(subclass),而上層的分類則稱為下層分類的‘超類’(superclass)。面向?qū)ο蠓椒ǖ幕靖拍钤跀?shù)據(jù)庫中,繼承有其特定的語義含義:分類語義:子類繼承超類的性質(zhì)和行為全體/部分語義:超類的實(shí)例集合包含子類的實(shí)例集合抽?。ㄏ螅┱Z義:從子類到超類是對(duì)子類共有特性與行為的抽?。ㄆ栈?,generalization)個(gè)性語義:從超類到子類是一個(gè)特殊化、具體化的過程(特化,specialization)類繼承提供了一個(gè)分析、了解和觀察客觀世界的一種方法。一般而言,子類繼承超類的全部特性與行為(我們稱其為‘全繼承’),但實(shí)際上往往發(fā)展為只繼承超類的部分特性與行為(部分繼承)。面向?qū)ο蠓椒ǖ幕靖拍?1.類繼承層次結(jié)構(gòu)(classinheritancehierarchystructure)鏈狀層次結(jié)構(gòu),沒有循環(huán)單繼承一般情況下,類繼承層次是一種樹狀結(jié)構(gòu)(tree),這樣的繼承我們稱之為‘單繼承’。面向?qū)ο蠓椒ǖ幕靖拍疃嗬^承在有的情況下,也允許一個(gè)子類擁有多個(gè)直接超類,這樣的繼承我們稱之為‘多繼承’(圖9)。在多繼承情況下,我們要求所有的類都具有一個(gè)共同的超類,從而構(gòu)成一個(gè)格狀結(jié)構(gòu)(Lattice)。面向?qū)ο蠓椒ǖ幕靖拍?2.多態(tài)性(polymorphism)在繼承過程中,可以重新修改或定義被繼承下來的方法(屬性)的定義信息(方法的調(diào)用接口)或方法的實(shí)現(xiàn)代碼,該特性被稱為‘多態(tài)性’。重載(overloading):在繼承過程中重新定義方法的實(shí)現(xiàn)代碼。重定義(overriding):在繼承過程中,重新定義被繼承下來的屬性或方法的調(diào)用參數(shù)的數(shù)據(jù)類型。面向?qū)ο蠓椒ǖ幕靖拍罾纾簬缀螆D形的面積計(jì)算個(gè)人所得稅計(jì)算多態(tài)性的實(shí)現(xiàn)手段遲聯(lián)編(latebinding)動(dòng)態(tài)聯(lián)編(dynamicbinding)面向?qū)ο蠓椒ǖ幕靖拍?3.類合成(classcomposition)用于反映對(duì)象的分解與組成關(guān)系(嵌套),它具有下述三種語義信息:組成語義(is-part-of):一個(gè)類可以有若干個(gè)合成類組成嵌套語義:一個(gè)類中屬性的值域可以是另一個(gè)類(包括自己)聯(lián)系語義:通過類中屬性建立與其它類的聯(lián)系面向?qū)ο蠓椒ǖ幕靖拍蠲嫦驅(qū)ο蠓椒ǖ幕靖拍?4.類合成層次結(jié)構(gòu)(classhierarchystructure)類合成關(guān)系一般而言是一種層次結(jié)構(gòu),即由下層的類合成上層的類,但它不是樹結(jié)構(gòu),即在合成關(guān)系中允許一個(gè)類可以是上層多個(gè)類的組成類。合成關(guān)系允許循環(huán),類合成層次結(jié)構(gòu)圖是一個(gè)網(wǎng)狀結(jié)構(gòu)。面向?qū)ο蠓椒ǖ幕靖拍?5.類層次結(jié)構(gòu)(classhierarchystructure)類與類之間存在著三種關(guān)系:繼承、合成與消息。其中:合成:用于反映類中屬性與另一個(gè)類的聯(lián)系繼承:用于反映類與類之間的聯(lián)系消息:根據(jù)應(yīng)用需要而定義的一種類與類之間的協(xié)作機(jī)制繼承與合成都具有特定的語義信息,而消息本身并不具有某種特定的語義含義。因此,在OODM中,我們主要考慮類的合成與繼承關(guān)系,由它們可構(gòu)成一個(gè)類層次結(jié)構(gòu)。客觀世界中的任何事物都可以用合成和繼承這兩種方式構(gòu)造出來。面向?qū)ο蠓椒ǖ幕靖拍蠲嫦驅(qū)ο蠓椒ǖ幕靖拍?6.持久性(persistance)對(duì)象的持久性揮發(fā)性對(duì)象:僅存在于應(yīng)用的執(zhí)行過程中的對(duì)象持久性對(duì)象:可以長(zhǎng)期保存的對(duì)象類的持久性持久類:實(shí)例的OID、屬性值、方法均可以長(zhǎng)期保存,并具有共享性,可以為多個(gè)應(yīng)用服務(wù)揮發(fā)類:與特定的應(yīng)用相關(guān),隨應(yīng)用程序的產(chǎn)生而產(chǎn)生、消亡而消亡,并具有共享性面向?qū)ο蠓椒ǖ幕靖拍罾篊++中的類與對(duì)象都是揮發(fā)性的,而OODB中的類與對(duì)象則均是持久性的。C++與OODB這兩個(gè)面向?qū)ο笙到y(tǒng)的區(qū)別在于:C++中沒有OID的概念;C++主要討論(管理)對(duì)象,而OODB則主要討論(管理)類;C++主要關(guān)心類與類之間的繼承關(guān)系,而OODB也很重視類的合成關(guān)系;OODB中的持久類需要長(zhǎng)期保存,并具有共享性,因此,OODB非常重視類(對(duì)象)的安全性、完整性、并發(fā)控制和故障恢復(fù)能力,而C++中則沒有這些功能。面向?qū)ο髷?shù)據(jù)庫系統(tǒng)應(yīng)該具備的基本特性首先,OODB必須支持面向?qū)ο蟮臄?shù)據(jù)模型,具有面向?qū)ο蟮奶匦?。OODB必須是一個(gè)數(shù)據(jù)庫管理系統(tǒng),具有數(shù)據(jù)庫管理系統(tǒng)的基本功能。面向?qū)ο髷?shù)據(jù)庫系統(tǒng)的優(yōu)越性1)復(fù)雜對(duì)象構(gòu)造能力使得對(duì)于客觀世界的模擬能力強(qiáng)、方式自然。2)封裝性向開發(fā)人員和最終用戶屏蔽復(fù)雜性和實(shí)現(xiàn)細(xì)節(jié),降低了數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)和維護(hù)的難度。3)繼承性使得數(shù)據(jù)庫設(shè)計(jì)和應(yīng)用編程成為可重用的。4)RDB與OODB。傳統(tǒng)關(guān)系數(shù)據(jù)庫中管理的是一張張的二維表,表中每一項(xiàng)是一個(gè)元組(記錄),而面向?qū)ο髷?shù)據(jù)庫中管理的是對(duì)象的集合,也可以看成是一張張的二維表,但表中每一項(xiàng)是一個(gè)對(duì)象。面向?qū)ο髷?shù)據(jù)庫系統(tǒng)的優(yōu)越性關(guān)系數(shù)據(jù)庫中表達(dá)現(xiàn)實(shí)世界的實(shí)體及其聯(lián)系都是用表,而面向?qū)ο髷?shù)據(jù)庫中表達(dá)現(xiàn)實(shí)世界的對(duì)象用表,而聯(lián)系用直接引用機(jī)制,這種直接引用機(jī)制是通過對(duì)象標(biāo)識(shí)符加上(復(fù)雜對(duì)象)索引機(jī)制來實(shí)現(xiàn)的,這導(dǎo)致了面向?qū)ο髷?shù)據(jù)庫與關(guān)系數(shù)據(jù)庫相比有很大不同。面向?qū)ο髷?shù)據(jù)庫系統(tǒng)的優(yōu)越性用關(guān)系數(shù)據(jù)庫表示非傳統(tǒng)應(yīng)用(例如CAD、CASE、OIS等)領(lǐng)域中的復(fù)雜實(shí)體就很不方便而且效率太低,因?yàn)樵M之間的聯(lián)系必須通過JOIN運(yùn)算動(dòng)態(tài)地建立,要訪問一個(gè)復(fù)雜對(duì)象需經(jīng)歷大量的JOIN運(yùn)算,造成系統(tǒng)效率嚴(yán)重下降,所以再用關(guān)系數(shù)據(jù)庫就不行了。而面向?qū)ο髷?shù)據(jù)庫采用了直接引用機(jī)制,所以在存取一個(gè)復(fù)雜對(duì)象時(shí)避免了大量的JOIN運(yùn)算。此外,關(guān)系數(shù)據(jù)庫的傳統(tǒng)應(yīng)用是短事務(wù)應(yīng)用,即每個(gè)事務(wù)的執(zhí)行時(shí)間都非常短,所以可以采用封鎖機(jī)制來實(shí)現(xiàn)并發(fā)訪問。面向?qū)ο髷?shù)據(jù)庫系統(tǒng)的優(yōu)越性非傳統(tǒng)應(yīng)用有長(zhǎng)期性和合作性的特點(diǎn),例如;一個(gè)設(shè)計(jì)事務(wù)可能要延續(xù)很長(zhǎng)時(shí)間,而且可能兩個(gè)人在設(shè)計(jì)同一個(gè)子系統(tǒng),其中只要有一個(gè)人的設(shè)計(jì)事務(wù)正確提交就算整個(gè)事務(wù)正常完成(提交)。在這種情況下,關(guān)系數(shù)據(jù)庫中并發(fā)控制的封鎖策略就不再適用了,因?yàn)橐粋€(gè)事務(wù)若長(zhǎng)期封鎖一部分對(duì)象將導(dǎo)致別的事務(wù)長(zhǎng)期等待,這是不允許的。面向?qū)ο髷?shù)據(jù)庫系統(tǒng)的優(yōu)越性此外,事務(wù)的原子性(事務(wù)不能嵌套)也不再適用了,因?yàn)榉莻鹘y(tǒng)應(yīng)用在很多場(chǎng)合下都可以表現(xiàn)成嵌套事務(wù)的執(zhí)行。從設(shè)計(jì)方法學(xué)的角度看,人們已經(jīng)普遍認(rèn)識(shí)到面向?qū)ο蟮姆椒▽W(xué)優(yōu)于過去常用的所謂“自頂向下、逐步求精”的基于功能分解的方法學(xué),如果用戶使用面向?qū)ο蟮姆椒ㄟM(jìn)行系統(tǒng)的分析與設(shè)計(jì),而我們還只能為他們提供關(guān)系數(shù)據(jù)庫,則勢(shì)必在設(shè)計(jì)與實(shí)現(xiàn)之間造成一個(gè)語義斷層,導(dǎo)致方法應(yīng)用的不連貫性和語義丟失問題。所以用面向?qū)ο蟮臄?shù)據(jù)庫來支持整個(gè)面向?qū)ο蟮姆椒▽W(xué)的應(yīng)用是必然的要求。面向?qū)ο髷?shù)據(jù)庫系統(tǒng)的優(yōu)越性打個(gè)比方,想象CAD中的一個(gè)復(fù)雜部件,它可能由成千上萬個(gè)不同的零件組成,要是用關(guān)系

模型中的表來表達(dá),得用多少張表???而描述這種復(fù)雜的部件,正好是高級(jí)程序設(shè)計(jì)語言的強(qiáng)項(xiàng)。

面向?qū)ο髷?shù)據(jù)庫系統(tǒng)的優(yōu)越性面向?qū)ο竽P途哂休^強(qiáng)的描述能力,能用來描述復(fù)雜對(duì)象實(shí)體

例如多媒體數(shù)據(jù)。一個(gè)OODBS應(yīng)該滿足兩個(gè)標(biāo)準(zhǔn):首先它是一個(gè)數(shù)據(jù)庫系統(tǒng),具備數(shù)據(jù)庫系統(tǒng)的基本功能;其次是一個(gè)面向?qū)ο笙到y(tǒng),充分支持完整的面向?qū)ο蟾拍詈蜋C(jī)制。因此可以將一個(gè)OODBS表達(dá)為"面向?qū)ο笙到y(tǒng)+數(shù)據(jù)庫能力",這類系統(tǒng)的好處是可與面向?qū)ο蟪绦蛟O(shè)計(jì)語言一體化,使用者不需要學(xué)習(xí)新的數(shù)據(jù)庫語言。面向?qū)ο髷?shù)據(jù)庫系統(tǒng)OODBS存在的問題和局限性:

沒有統(tǒng)一可行的標(biāo)準(zhǔn)

目前,OODB還缺乏堅(jiān)實(shí)的形式化理論的支持,沒有一個(gè)切實(shí)可行的標(biāo)準(zhǔn),缺乏數(shù)據(jù)庫的許多功能,以至產(chǎn)品之間的兼容性和可移植性比較差,這已成為它的廣泛應(yīng)用的主要障礙。此外,OODB涉及程序設(shè)計(jì)語言和DBS集成這一復(fù)雜問題,更需要用標(biāo)準(zhǔn)來加以約束。所以制定規(guī)范已刻不容緩。面向?qū)ο髷?shù)據(jù)庫系統(tǒng)OODBS不能與關(guān)系數(shù)據(jù)庫(RDBS)兼容,沒有提供使RDB和OODB相互轉(zhuǎn)換的"通道"或"橋",以便用戶根據(jù)需要,發(fā)揮兩種數(shù)據(jù)庫各自的優(yōu)勢(shì)。同時(shí),它也缺乏RDBS成功使用的一些功能特點(diǎn),如非過程化查詢語言、視圖、授權(quán),在需要利用傳統(tǒng)的RDBS功能完成面向?qū)ο蟮墓ぷ鲿r(shí)就無能為力了。另外,它需要與SQL不同的程序接口,故不支持SQL,因此失去通用性方面的優(yōu)勢(shì),使其應(yīng)用領(lǐng)域受到很大限制。典型的商品化的OODBS有ONTOLOGIC公司的ONTOSDB。

面向?qū)ο髷?shù)據(jù)庫的應(yīng)用面向?qū)ο髷?shù)據(jù)庫的優(yōu)點(diǎn):能表示復(fù)雜的繼承與合成語義將靜態(tài)的數(shù)據(jù)結(jié)構(gòu)與動(dòng)態(tài)的方法封裝以構(gòu)成完整的數(shù)據(jù)實(shí)體具有構(gòu)造多種操作的能力具有能構(gòu)造復(fù)雜結(jié)構(gòu)模型的能力具有能對(duì)模式作擴(kuò)充與修改的能力具有能構(gòu)造多種數(shù)據(jù)結(jié)構(gòu)、抽象數(shù)據(jù)類型的能力面向?qū)ο髷?shù)據(jù)庫系統(tǒng)的主要應(yīng)用領(lǐng)域工程應(yīng)用領(lǐng)域:CIM,CAD/CAM,……多種數(shù)據(jù)類型:數(shù)字/文字/圖形/……復(fù)雜的數(shù)據(jù)操作:文字編輯/圖形處理/版本控制/……復(fù)雜的數(shù)據(jù)模式與模式修改能力多媒體應(yīng)用領(lǐng)域:CAD,GIS/GPS,……多種數(shù)據(jù)類型:數(shù)字/文字/圖形/圖象/聲音/……復(fù)雜的數(shù)據(jù)操作:圖象處理/聲音處理/動(dòng)畫播放/……復(fù)雜的數(shù)據(jù)模式系統(tǒng)集成應(yīng)用

面向?qū)ο髷?shù)據(jù)庫的應(yīng)用MRP(物料需求計(jì)劃)MRPII(制造資源計(jì)劃)面向企業(yè)內(nèi)部管理的計(jì)算機(jī)信息管理系統(tǒng):生產(chǎn)、銷售、財(cái)務(wù)、人事等ERP(企業(yè)資源計(jì)劃)面向整個(gè)供需鏈管理的管理信息集成系統(tǒng),除了MRPII的功能外,還包括采購、庫存、客戶關(guān)系管理(CRM)、質(zhì)量控制、成本核算等EMS(郵政快遞)CASE(計(jì)算機(jī)輔助軟件工程)CIMS(計(jì)算機(jī)集成制造系統(tǒng))

面向?qū)ο髷?shù)據(jù)庫的應(yīng)用面向?qū)ο髷?shù)據(jù)庫在圖形中的應(yīng)用圖形中的基本組成部分我們稱為圖元。共有下述幾種圖元:點(diǎn)線:直線,圓,橢圓,雙曲線,拋物線,二次曲線線段每一種圖元符號(hào)都可用一個(gè)類表示,在設(shè)立一個(gè)最高的抽象超類‘圖元’類,就可以構(gòu)成他們之間的一個(gè)類層次結(jié)構(gòu)圖。面向?qū)ο髷?shù)據(jù)庫在圖形中的應(yīng)用1.類與圖元點(diǎn)(Point)屬性:橫坐標(biāo)值X縱坐標(biāo)值Y方法:移動(dòng)面向?qū)ο髷?shù)據(jù)庫在圖形中的應(yīng)用直線(line)屬性:第一個(gè)點(diǎn)的橫坐標(biāo)值X1第一個(gè)點(diǎn)的縱坐標(biāo)值Y1第二個(gè)點(diǎn)的橫坐標(biāo)值X2第二個(gè)點(diǎn)的縱坐標(biāo)值Y2方向Ld方法:移動(dòng)旋轉(zhuǎn)

面向?qū)ο髷?shù)據(jù)庫在圖形中的應(yīng)用直線段直線段是由兩個(gè)端點(diǎn)限制起來的一段直線,因此其定義是在直線的基礎(chǔ)上再加上兩個(gè)端點(diǎn)的坐標(biāo)值(X’1,Y’1),(X’2,Y’2)。由于這兩個(gè)點(diǎn)必須在該直線上,因此我們又定義了一個(gè)約束方法LIC1,以限制兩個(gè)端點(diǎn)的取值必須位于原來的直線上。面向?qū)ο髷?shù)據(jù)庫在圖形中的應(yīng)用圓(circle)一個(gè)標(biāo)準(zhǔn)的圓是由圓心(a,b)與半徑r決定的,其方程式為:(x+a)2+(y+b)2=r2再加上圓標(biāo)識(shí)Cno與方向Cd,因此:屬性:圓心橫坐標(biāo)值a圓心縱坐標(biāo)值b半徑r方向Cd方法:移動(dòng),放大,縮小面向?qū)ο髷?shù)據(jù)庫在圖形中的應(yīng)用圓弧圓弧是圓中的一段,它由圓上的兩個(gè)端點(diǎn)(X1,Y1),(X2,Y2)確定,這兩個(gè)點(diǎn)也在圓上,它構(gòu)成約束方法CIC1。另外,再定義一個(gè)圓弧的拼接操作。圓弧是在圓上增加了四個(gè)屬性X1,Y1,X2,Y2和兩個(gè)方法CIC1和‘拼接’。面向?qū)ο髷?shù)據(jù)庫在圖形中的應(yīng)用橢圓(ellipse)橢圓的方程是:再加上橢圓標(biāo)識(shí)Eno與方向Ed,此外對(duì)橢圓還可作放大、縮小、移動(dòng)、旋轉(zhuǎn)等操作。(x+a)2

(y+b)2r2+r’2=1面向?qū)ο髷?shù)據(jù)庫在圖形中的應(yīng)用橢圓弧在橢圓的基礎(chǔ)上增加兩個(gè)端點(diǎn):(x1,y1)(x2,y2)增加兩個(gè)方法:約束方法EIC1:兩個(gè)端點(diǎn)必須位于該橢圓上。‘拼接’操作面向?qū)ο髷?shù)據(jù)庫在圖形中的應(yīng)用雙曲線(hyperbola)雙曲線的方程是:再加上雙曲線標(biāo)識(shí)Hno與方向Hd,此外對(duì)雙曲線還可作放大、縮小、移動(dòng)、旋轉(zhuǎn)等操作。(x+a)2

(y+b)2r2

–r’2=1面向?qū)ο髷?shù)據(jù)庫在圖形中的應(yīng)用雙曲線段在雙曲線的基礎(chǔ)上增加兩個(gè)端點(diǎn):(x1,y1)(x2,y2)增加兩個(gè)方法:約束方法HIC1:兩個(gè)端點(diǎn)必須位于該雙曲線上?!唇印僮鳌C嫦?qū)ο髷?shù)據(jù)庫在圖形中的應(yīng)用拋物線(parabola)一個(gè)標(biāo)準(zhǔn)的拋物線方程式為:(y+a)2=2p(x+b)再加上拋物線標(biāo)識(shí)Pno和方向Pd,此外對(duì)拋物線還可作放大、縮小、移動(dòng)、旋轉(zhuǎn)等操作。面向?qū)ο髷?shù)據(jù)庫在圖形中的應(yīng)用拋物線段在拋物線的基礎(chǔ)上增加兩個(gè)端點(diǎn):(x1,y1)(x2,y2)增加兩個(gè)方法:約束方法PIC1:兩個(gè)端點(diǎn)必須位于該拋物線上。‘拼接’操作。面向?qū)ο髷?shù)據(jù)庫在圖形中的應(yīng)用二次曲線(curve)一個(gè)任意的二次曲線方程式為:ax2+bxy+cy2+dx+ey+f=0再加上二次曲線標(biāo)識(shí)Cuno和方向Cud,此外對(duì)二次曲線還可作放大、縮小、移動(dòng)、旋轉(zhuǎn)等操作。面向?qū)ο髷?shù)據(jù)庫在圖形中的應(yīng)用二次曲線的線段在二次曲線的基礎(chǔ)上增加兩個(gè)端點(diǎn):(x1,y1)(x2,y2)增加兩個(gè)方法:約束方法CUIC1:兩個(gè)端點(diǎn)必須位于該二次曲線上。‘拼接’操作。面向?qū)ο髷?shù)據(jù)庫在圖形中的應(yīng)用2.圖元的結(jié)構(gòu)模型我們?yōu)樯鲜龅?7種基本圖元符合定義17個(gè)基本圖元類。我們可以從這17個(gè)基本圖元類中抽取出兩個(gè)超類:線類C抽取直線和所有曲線的共性(屬性與方法)所構(gòu)成的一個(gè)超類。由于每種‘線段’都是在相應(yīng)的‘線’(直線或曲線)的基礎(chǔ)上進(jìn)行擴(kuò)充后構(gòu)成的,因此每種‘線段’類都可以被定義為對(duì)應(yīng)‘線’類的子類。圖元類A抽取所有基本圖元的共性所構(gòu)成的一個(gè)有關(guān)所有圖元類的最高超類。由于直線和所有曲線的共性已經(jīng)被抽取到線類C中,因此圖元類A是從‘點(diǎn)’類和‘線類C’中抽取它們兩者的共性所構(gòu)成的。面向?qū)ο髷?shù)據(jù)庫在圖形中的應(yīng)用17種基本圖元類和上述的兩個(gè)超類可以構(gòu)成如下(圖11-10)所示的一個(gè)層次結(jié)構(gòu),每個(gè)類的定義見圖。圖元的層次分類結(jié)構(gòu)圖

面向?qū)ο髷?shù)據(jù)庫在圖形中的應(yīng)用圖元類繼承結(jié)構(gòu)面向?qū)ο髷?shù)據(jù)庫在圖形中的應(yīng)用3.類層次結(jié)構(gòu)與面(plane)在圖形中面是由若干條線組合而成的封閉體,面內(nèi)可以著色,每個(gè)面有一個(gè)唯一的標(biāo)識(shí),同時(shí)對(duì)面可以作放大、縮小、旋轉(zhuǎn)、移動(dòng)等操作。如果將面看成一個(gè)類,那么它的組成成分是:面的標(biāo)識(shí)Pno面的顏色Color線的集合C-set根據(jù)該屬性建立與‘線類C’的合成關(guān)系約束方法PLIC1組成面的線必須組合構(gòu)成一個(gè)封閉體。放大、縮小、旋轉(zhuǎn)、移動(dòng)等操作面向?qū)ο髷?shù)據(jù)庫在圖形中的應(yīng)用因此,‘平面’類與‘圖元類A’構(gòu)成了一個(gè)類層次結(jié)構(gòu)。平面的類層次結(jié)構(gòu)圖

面向?qū)ο髷?shù)據(jù)庫在圖形中的應(yīng)用層的類層次結(jié)構(gòu)圖

4.類層次結(jié)構(gòu)與圖層(layer)由若干個(gè)點(diǎn)、線、面可組成一個(gè)圖層,每個(gè)圖層有一個(gè)唯一標(biāo)識(shí)(lano),層上一般無操作,層是一個(gè)類,它與點(diǎn)、線、面都有合成關(guān)系,因此層可用一個(gè)類層次結(jié)構(gòu)表示(見圖)。

面向?qū)ο髷?shù)據(jù)庫在圖形中的應(yīng)用

圖的類層次結(jié)構(gòu)圖

5.類層次結(jié)構(gòu)圖(graph)一幅完整的圖由若干層組成,每幅圖有一個(gè)唯一的標(biāo)識(shí)gno.圖上一般無操作,圖是一個(gè)類,它與層有合成關(guān)系.面向?qū)ο髷?shù)據(jù)庫在圖形中的應(yīng)用6.小結(jié)用面向?qū)ο髷?shù)據(jù)模型可以較好地描述圖形應(yīng)用中的復(fù)雜數(shù)據(jù)結(jié)構(gòu)及其操作。以圖11-14所表示的模型為基礎(chǔ)還可以進(jìn)一步修改與擴(kuò)充以下內(nèi)容:增加文字說明插入圖像增添語音從而可構(gòu)成一個(gè)多媒體應(yīng)用的數(shù)據(jù)模型。

面向?qū)ο髷?shù)據(jù)庫管理系統(tǒng)產(chǎn)品介紹OODBMS的發(fā)展階段1.第一階段:實(shí)驗(yàn)室原型階段自80年代中至80年代末開展了有關(guān)面向?qū)ο髷?shù)據(jù)庫的體系結(jié)構(gòu)、數(shù)據(jù)模型、技術(shù)路線等進(jìn)行了研究,出現(xiàn)了很多在實(shí)驗(yàn)室研制出來的原型產(chǎn)品,如:VbaseORIENPOSTGRESGEMSTONEOODBMS的發(fā)展階段2.第二階段:初期商業(yè)化產(chǎn)品自80年代末至90年代初出現(xiàn)了商業(yè)化的OODBMS產(chǎn)品,這些商業(yè)化產(chǎn)品具有面向?qū)ο髷?shù)據(jù)庫管理系統(tǒng)的基本特色與實(shí)際應(yīng)用的能力,但在功能完整性、配套工具的開發(fā)以及系統(tǒng)穩(wěn)定性等方面均有待進(jìn)一步提高3.第三階段:成熟產(chǎn)品階段自90年代初期至90年代中OODBMS的商業(yè)化趨向成熟,其主要標(biāo)志是:有完整的面向?qū)ο髷?shù)據(jù)庫管理系統(tǒng)的功能有配套的工具軟件、有多種平臺(tái)運(yùn)行能力、有在網(wǎng)絡(luò)上按C/S方式運(yùn)行的能力有一定范圍的市場(chǎng)和有眾多的應(yīng)用范例OODBMS產(chǎn)品的結(jié)構(gòu)流派1.第一種流派-面向?qū)ο蟪绦蛟O(shè)計(jì)語言(OOP)的擴(kuò)充持久性成分傳統(tǒng)數(shù)據(jù)庫管理系統(tǒng)的功能2.第二種流派-關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS)的擴(kuò)充擴(kuò)充其面向?qū)ο蠹夹g(shù)部分3.第三種流派-獨(dú)立型O2

典型OODBMS產(chǎn)品介紹1.ObjectStore美國(guó)ObjectDesign公司,1989,C++的擴(kuò)充硬件平臺(tái):工作站,操作系統(tǒng):UNIX2.ONTOS美國(guó)Ontologic公司,1989,C++的擴(kuò)充硬件平臺(tái):微機(jī)/工作站,操作系統(tǒng):UNIX3.O2法國(guó)Altair公司,1991,獨(dú)立產(chǎn)品硬件平臺(tái):工作站,操作系統(tǒng):UNIXOO表示能力強(qiáng),其DBMS功能也很完整,并有一套完整的開發(fā)工具。數(shù)據(jù)庫語言O(shè)SQL被ODMG組織選定為OODBMS標(biāo)準(zhǔn)語言藍(lán)本。1995年:面向?qū)ο髷?shù)據(jù)庫管理系統(tǒng)NODBMS1998年:面向?qū)ο髷?shù)據(jù)庫管理系統(tǒng)OMNIX系統(tǒng)特點(diǎn):采用完全獨(dú)立的系統(tǒng)實(shí)現(xiàn)方式,系統(tǒng)符合面向?qū)ο髷?shù)據(jù)庫系統(tǒng)的十五個(gè)基本條件和部分附加條件。系統(tǒng)的實(shí)現(xiàn)遵循有關(guān)的面向?qū)ο髷?shù)據(jù)庫標(biāo)準(zhǔn)或相關(guān)領(lǐng)域的工業(yè)標(biāo)準(zhǔn),如:OODBTGFinalReport、ISOSTEP標(biāo)準(zhǔn)、SQL3標(biāo)準(zhǔn)、OQL標(biāo)準(zhǔn)。系統(tǒng)提供了多種復(fù)雜數(shù)據(jù)類型,包括空間、時(shí)間、幾何圖形、貨幣、聚集數(shù)據(jù)類型等,并向用戶提供了自定義抽象數(shù)據(jù)類型的功能。五種數(shù)據(jù)子語言:交互式查詢語言O(shè)SQL(字符界面、圖形界面)、嵌入式OSQL語言、EXPRESS建模語言、DAEF函數(shù)。系統(tǒng)具有C/S方式的網(wǎng)絡(luò)訪問接口2000年:安全數(shù)據(jù)庫系統(tǒng)Softbase2000年:關(guān)系數(shù)據(jù)庫管理系統(tǒng)CBASE對(duì)象關(guān)系數(shù)據(jù)庫系統(tǒng)對(duì)象關(guān)系數(shù)據(jù)庫系統(tǒng)ORDBSObjectRelationalDatabaseSystem對(duì)象關(guān)系數(shù)據(jù)庫管理系統(tǒng)ORDBMSObjectRelationalDatabaseManagementSystem對(duì)象關(guān)系數(shù)據(jù)模型ORDMObjectRelationalDataModel

對(duì)象關(guān)系數(shù)據(jù)庫系統(tǒng)對(duì)象關(guān)系數(shù)據(jù)庫系統(tǒng)的特點(diǎn)是:ORDBS是以RDBS為基礎(chǔ)并在其上擴(kuò)充OO的若干主要功能。擴(kuò)充僅限于OO中的部分主要方面。包括:擴(kuò)充的數(shù)據(jù)類型與復(fù)雜數(shù)據(jù)類型繼承引用對(duì)象關(guān)系數(shù)據(jù)庫系統(tǒng)1.擴(kuò)充數(shù)據(jù)類型傳統(tǒng)關(guān)系數(shù)據(jù)庫系統(tǒng)采用的是符合1NF要求的規(guī)范化的關(guān)系模式,每個(gè)屬性的取值均是一個(gè)不可分割的標(biāo)量值,且一般只提供字符、數(shù)值、日期、時(shí)間、邏輯等幾種簡(jiǎn)單數(shù)據(jù)類型,無法滿足對(duì)復(fù)雜數(shù)據(jù)對(duì)象的描述需要,因此,在對(duì)象關(guān)系數(shù)據(jù)庫系統(tǒng)中均引入了多種擴(kuò)充的復(fù)雜數(shù)據(jù)類型,包括:結(jié)構(gòu)化數(shù)據(jù)類型允許每個(gè)屬性的取值可以是一個(gè)結(jié)構(gòu)化的值,因此,可以引入日期(年,月,日)、時(shí)間(時(shí),分,秒)和時(shí)間戳(日期,時(shí)間)等結(jié)構(gòu)化的數(shù)據(jù)類型。對(duì)象關(guān)系數(shù)據(jù)庫系統(tǒng)聚集數(shù)據(jù)類型允許每個(gè)屬性的取值可以是一個(gè)集合值,包括:集合(Set),數(shù)組(Array),序列(List)和包(Bag)四種集合數(shù)據(jù)類型。空間數(shù)據(jù)類型可以使用表示平面和三維空間數(shù)據(jù)對(duì)象的幾何拓?fù)鋽?shù)據(jù)類型,包括:點(diǎn)、線、面、角度等。度量衡數(shù)據(jù)類型可以使用各種度量單位類型,如用于表示長(zhǎng)度、重量、貨幣等方面的多種不同的度量單位及其相互轉(zhuǎn)換規(guī)則.對(duì)象關(guān)系數(shù)據(jù)庫系統(tǒng)除了上述幾種常用的復(fù)雜數(shù)據(jù)類型之外,系統(tǒng)一般還提供自定義數(shù)據(jù)類型(CreateType)的功能,用戶可以定義自己需要的復(fù)雜數(shù)據(jù)類型。這些數(shù)據(jù)類型一經(jīng)定義,便以持久形式保存在數(shù)據(jù)庫系統(tǒng)中,用戶可以象使用一般數(shù)據(jù)類型一樣使用這些復(fù)雜的數(shù)據(jù)類型。例如:創(chuàng)建一個(gè)‘文檔’類型CREATETYPEDocument( namestring, author-listsetof(string), dateDate)‘類型’可以被看成一種特殊的類,也可以在這些類型上定義新的操作符。對(duì)象關(guān)系數(shù)據(jù)庫系統(tǒng)2.繼承在對(duì)象關(guān)系數(shù)據(jù)庫系統(tǒng)中允許出現(xiàn)繼承關(guān)系,包括:在數(shù)據(jù)類型之間的繼承:子類型/超類型在表(關(guān)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論