




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、OODBS面 向 對 象 數(shù) 據(jù) 庫 系 統(tǒng)Object Oriented Database System(OODBS)(一)OODBS3.1 面向?qū)ο蟾拍钆c數(shù)據(jù)庫系統(tǒng)面向?qū)ο蟾拍钆c數(shù)據(jù)庫系統(tǒng) 傳統(tǒng)的關系數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)模型簡單,無法滿足新的計算機應用特別是非事務處理領域?qū)?shù)據(jù)庫支撐要求的需要,如: 計算機輔助設計與制造CAD /CAM) 計算機集成制造CIM) 計算機輔助軟件工程CASE) 地理信息系統(tǒng)GIS) 物流資源規(guī)劃MRP,MRP2) 企業(yè)資源規(guī)劃ERP)OODBS3.1 面向?qū)ο蟾拍钆c數(shù)據(jù)庫系統(tǒng)面向?qū)ο蟾拍钆c數(shù)據(jù)庫系統(tǒng) 解決方法 開發(fā)各種專用數(shù)據(jù)庫系統(tǒng):RDBS的擴充 如:工程數(shù)據(jù)庫
2、、多媒體數(shù)據(jù)庫、圖形數(shù)據(jù)庫及圖像數(shù)據(jù)庫等 缺乏:只能滿足專門應用的需要,缺乏通用性 開發(fā)新的數(shù)據(jù)模型與數(shù)據(jù)庫系統(tǒng):新一代的數(shù)據(jù)模型與數(shù)據(jù)庫系統(tǒng)的主要特征與要求應該是: 有構造復雜數(shù)據(jù)結(jié)構與模式的能力:嵌套、遞歸、籠統(tǒng)、分類、組裝、分解 具有多種數(shù)據(jù)類型及構造抽象數(shù)據(jù)類型的能力:聚集、時間、空間、幾何形狀、變長、大容量、 具有多種操作能力,特別是操作復雜語義模型的能力,如:旋轉(zhuǎn)、放大、 具有對數(shù)據(jù)模型進行擴充演化的能力:模式修改OODBS3.1 面向?qū)ο蟾拍钆c數(shù)據(jù)庫系統(tǒng)面向?qū)ο蟾拍钆c數(shù)據(jù)庫系統(tǒng) 面向?qū)ο髷?shù)據(jù)模型以及采用該模型的數(shù)據(jù)庫系統(tǒng)能夠滿足上述主要特征與要求。 以面向?qū)ο髷?shù)據(jù)模型為核心的數(shù)據(jù)
3、庫系統(tǒng)稱為面向?qū)ο髷?shù)據(jù)庫系統(tǒng)object oriented database system,簡稱OODBS)。同樣,以面向?qū)ο髷?shù)據(jù)模型為核心的數(shù)據(jù)庫管理系統(tǒng)稱為面向?qū)ο髷?shù)據(jù)庫管理系統(tǒng)object oriented database system,簡稱OODBMS)。OODBS3.1 面向?qū)ο蟾拍钆c數(shù)據(jù)庫系統(tǒng)面向?qū)ο蟾拍钆c數(shù)據(jù)庫系統(tǒng) 關系模型與關系數(shù)據(jù)庫系統(tǒng)目前仍是在商業(yè)、事務處理、OA、MIS等傳統(tǒng)數(shù)據(jù)庫應用領域占主導地位的數(shù)據(jù)庫系統(tǒng)。而對非傳統(tǒng)應用,關系數(shù)據(jù)庫系統(tǒng)的支撐度就較為低下,因此,從90年代初開始陸續(xù)出現(xiàn)了一些商品化的面向?qū)ο髷?shù)據(jù)庫管理系統(tǒng),著名的如Object Store、O2,O
4、NTOS等,并在非傳統(tǒng)應用領域中發(fā)揮了重大作用。 到90年代中期,不少關系數(shù)據(jù)庫廠家如Oracle、Sybase、SQL Server、DB2以及Ingres、Informix等,經(jīng)過不斷努力都在其推出的新版本中不同程度地采用了面向?qū)ο笾械囊恍┧枷肱c機制。由于這類數(shù)據(jù)庫系統(tǒng)的本質(zhì)還是關系數(shù)據(jù)庫,因此我們稱其為對象-關系數(shù)據(jù)庫系統(tǒng),采用的數(shù)據(jù)模型相應被稱為對象-關系數(shù)據(jù)模型。在通常情況下,我們也將對象-關系數(shù)據(jù)庫系統(tǒng)作為面向?qū)ο髷?shù)據(jù)庫系統(tǒng)的實現(xiàn)途徑之一。OODBS3.2 3.2 面向?qū)ο蠓椒ǖ幕舅枷朊嫦驅(qū)ο蠓椒ǖ幕舅枷?.2.1 概概 述述OO是一種方法是一種方法使用使用OO方法不僅可以認識
5、客觀世界,而且也可方法不僅可以認識客觀世界,而且也可以表示客觀世界,其特點是通過可構造的手段以表示客觀世界,其特點是通過可構造的手段將客觀要求表示出來,也就是說可用有限的構將客觀要求表示出來,也就是說可用有限的構造手段與有限的步驟建立起一個客觀世界的模造手段與有限的步驟建立起一個客觀世界的模型。型。目前該方法已廣泛應用在計算機的各個方面:目前該方法已廣泛應用在計算機的各個方面:面向?qū)ο蟪绦蛟O計語言面向?qū)ο蟪绦蛟O計語言OOP)面向?qū)ο蠓治雒嫦驅(qū)ο蠓治鯫OA)面向?qū)ο笤O計面向?qū)ο笤O計OOD)面向?qū)ο髷?shù)據(jù)庫面向?qū)ο髷?shù)據(jù)庫OODB)面向?qū)ο笥脩艚缑婷嫦驅(qū)ο笥脩艚缑婷嫦驅(qū)ο蟮捏w系結(jié)構面向?qū)ο蟮捏w系結(jié)構O
6、ODBS3.2.1 概概 述述 OO方法與傳統(tǒng)方法的比較 “面向計算機方法:Computer Oriented 是一種模塊化、樹狀層次結(jié)構方法。 該方法以便于計算機實現(xiàn)為主要目的,較少考慮其客觀世界的實際背景。 特點:在計算機中的實現(xiàn)方便,但模型構筑困難。(距客觀世界較遠,工具不統(tǒng)一) “面向?qū)ο蠓椒ǎ篛bject Oriented 以客觀世界中的“實體為中心的方法,能夠較好地反映客觀世界的實際要求,也可以通過OO工具在計算機中方便地實現(xiàn)。 特點: 統(tǒng)一的建模工具OOA,OOD) 易于實現(xiàn)OOP,OODB) 實現(xiàn)了方法的一致化和接口的無縫性OODBS3.2.1 概概 述述 例:數(shù)據(jù)庫設計RDB
7、與OODB)客觀世界關系數(shù)據(jù)庫的實現(xiàn)途徑關系數(shù)據(jù)庫的實現(xiàn)途徑ER模型關系模型計算機實現(xiàn)面向?qū)ο髷?shù)據(jù)庫的實現(xiàn)途徑面向?qū)ο髷?shù)據(jù)庫的實現(xiàn)途徑面向?qū)ο竽P?我們以圖論中的樹狀結(jié)構的模型設計為例,來解釋這兩種方法在設計過程和設計結(jié)果上的差別。OODBS3.2.1 概概 述述 在關系數(shù)據(jù)庫中的設計步驟 概念設計圖1),概念設計圖2),邏輯設計圖3) n 1 n 1 點(x,y) 邊 圖圖 1 起點 終點 邊 圖圖 2 起點 P ( pno1, x, y)邊 L ( pno1, pno2)終點 P ( pno2, x, y)Ppno, x, y, pno) 終點 起點圖圖3OODBS3.2.1 概概 述述
8、在OODB中的設計步驟 概念模型與邏輯模型圖4-1 或 圖4-2)點pnoxy終點圖圖4-1 OO模型模型點pnoxy起點圖圖4-2 OO模型模型OODBS3.2.1 概概 述述 數(shù)據(jù)操作方面的區(qū)別 在樹狀結(jié)構中,操作具有一定的方向性,即從起點到終點。 RDB:從起點到終點查找困難圖3) OODB:很方便圖4)OODBS3.2.2 簡單回顧簡單回顧 面向?qū)ο蠓椒ㄆ鹪从?0世紀60年代末70年代初: SIMULA67、SMALLTALK、EIFFEL、C、Ada 面向?qū)ο蠓椒ㄔ?0年代初開始在計算機的若干領域中得到了推廣,它們是: 在人工智能領域中 知識表示方法、專家系統(tǒng)的開發(fā)方法、基于面向?qū)ο?/p>
9、的人工智能語言 在軟件工程領域中 面向?qū)ο蟮姆治?與 面向?qū)ο蟮脑O計方法 在可視化界面中 在數(shù)據(jù)庫中 其它方面 面向?qū)ο笥嬎銠CIAPX432,面向?qū)ο蠓植际接嬎銠CEden等OODBS3.3 面向?qū)ο蠓椒ǖ幕靖拍蠲嫦驅(qū)ο蠓椒ǖ幕靖拍?1. 對象object)客觀世界中的任意一個實體。組成對象標識,靜態(tài)特征,動態(tài)行為2. 屬性(attribute)反映對象的狀態(tài)與特性,是每個對象固有的靜態(tài)表示。屬性型屬性名,數(shù)據(jù)類型屬性值可以賦予該屬性的數(shù)值。屬性值的多值性結(jié)構化值、集合值、OID例學生學號,姓名,性別,出生日期,系別,所修課程)OODBS3.3 面向?qū)ο蠓椒ǖ幕靖拍蠲嫦驅(qū)ο蠓椒ǖ幕靖拍?
10、. 方法(method)又稱為操作(operation),用于反映對象的行為特征,是對象的固有動態(tài)行為的表示,可用于審視并改變對象的內(nèi)部狀態(tài)屬性值)。方法的表示方法的接口:是方法的外部表示,如方法的名稱,調(diào)用參數(shù)及返回結(jié)果的類型。方法的實現(xiàn):代碼4. 對象標識符OID(object identifier)外界賦予每個對象的一個具有唯一性的名字,是區(qū)分不同對象的唯一標記。以替代傳統(tǒng)觀念中的“關鍵字”從上述的介紹內(nèi)容可以知道,每個對象都是由一組屬性、一組方法和一個具有唯一性的OID組成的,這樣的對象具有穩(wěn)定性、封裝性和隱蔽性三個特性。OODBS3.3 面向?qū)ο蠓椒ǖ幕靖拍蠲嫦驅(qū)ο蠓椒ǖ幕靖拍?
11、. 穩(wěn)定性(stationary)以屬性數(shù)據(jù)為核心,以方法程序為附屬體,可構成一個穩(wěn)定的實體。6. 封裝性(encapsulation)對象的封裝性將一個對象劃分為兩個部分對象的內(nèi)部表示即對象中的屬性組成與方法實現(xiàn))對象的外部表示即方法接口,亦稱對象界面)。對象封裝的優(yōu)點有利于對象代碼及數(shù)據(jù)結(jié)構的維護提高對象的可靠性與可重用性。OODBS3.3 面向?qū)ο蠓椒ǖ幕靖拍蠲嫦驅(qū)ο蠓椒ǖ幕靖拍?. 隱蔽性(hiding)對象的外部界面與內(nèi)部表示的分離,使得外界只能通過方法的外部接口來訪問該對象,而對象的屬性組成和方法的內(nèi)部實現(xiàn)則是不可見的。對象的隱蔽性屏蔽了對象的內(nèi)部實現(xiàn)細節(jié),簡化外界對對象的認識
12、與了解,方便了用戶的使用。8. 音訊(message)消息是對象間的一種協(xié)作機制,一個對象可以通過向另一個對象發(fā)送消息來調(diào)用另一個對象中的方法,以獲得其協(xié)作來共同完成某一個任務。消息僅作用于對象界面,再通過對象界面調(diào)用相應的方法來進一步影響與改變對象自身。用戶對一個對象所做的操作也可以看成是一條發(fā)向該對象的消息,并通過該消息執(zhí)行對象中的方法,以實現(xiàn)用戶的操作要求或獲得操作結(jié)果。OODBS3.3 面向?qū)ο蠓椒ǖ幕靖拍蠲嫦驅(qū)ο蠓椒ǖ幕靖拍?消息的組成:Type A . OpO1,O2,On) 接收者: 對象A 操作名: Op 操作參數(shù)及其返回結(jié)果的類型: O1,O2,On及Type 例: in
13、t V1.weight( ) return ( V1.車廂.weight( ) + V1.底盤.weight( ) + V1.驅(qū)動設備.weight( ) ); V1 車輛 車 廂 底 盤 驅(qū)動設備 weight( ) 驅(qū)動設備 weight( ) 底盤 weight( ) 車廂 顏色 重量 大小 weight( ) 圖圖5 OODBS3.3 面向?qū)ο蠓椒ǖ幕靖拍蠲嫦驅(qū)ο蠓椒ǖ幕靖拍?消息與方法的比較: 方法是對象的內(nèi)部操作,它包括方法的外部調(diào)用接口和內(nèi)部實現(xiàn)細節(jié)兩個部分。 消息則是一個跨對象的對象間的操作。 綜上所述,對象是一個由一組屬性和一組方法所組成的一個封裝實體,每個對象都有一個系
14、統(tǒng)賦予的具有唯一性的名字OID),消息則是對象之間的一種協(xié)作機制。 圖圖 6 界 面 方法(集) 屬性(集) OID 消息 OODBS3.3 面向?qū)ο蠓椒ǖ幕靖拍蠲嫦驅(qū)ο蠓椒ǖ幕靖拍?. 類(class)具有相同屬性與方法的對象集合稱為類。實例instance):類中的對象類的定義可以簡化人們對復雜世界的了解。例:類名類名屬性屬性方法方法學生學號,姓名,性別,出生日期,系別,年級,所修課程選課,登記成績,統(tǒng)計學分績,升級,轉(zhuǎn)系OODBS3.3 面向?qū)ο蠓椒ǖ幕靖拍蠲嫦驅(qū)ο蠓椒ǖ幕靖拍?有了類后,類中實例的屬性與方法可以統(tǒng)一說明,同時類也可有一個統(tǒng)一的界面,消息不僅可以作為對象間作用的工
15、具,更重要的可作為類間溝通的工具。 同一個類中的屬性由于實例的不一致而可能導致值的不一致,因此類的屬性實際上是個變量Instance variable)。 類常量Class value):在特殊情況下有些變量值在該類中是一致的,此時該變量稱為類常量。 如:人的耳朵有兩個 缺省值default value):有些類的屬性規(guī)定有缺省值。在創(chuàng)建一個新的對象實例時,如果沒有給某個屬性明確賦值,則該屬性的取值就是其缺省值。 類與類之間的關系:承繼 與 合成OODBS3.3 面向?qū)ο蠓椒ǖ幕靖拍蠲嫦驅(qū)ο蠓椒ǖ幕靖拍?0. 承繼(inheritance)在客觀世界中存在著許多各種各樣的對象和它們之間的復
16、雜關系,為理解這些關系,常用的手法是對它們進行分類。例如: 動物 哺乳動物 靈長類動物 非哺乳動物 非靈長類動物 人類 猩猩 猿猴 圖圖 7 動動物物的的分分類類圖圖 OODBS3.3 面向?qū)ο蠓椒ǖ幕靖拍蠲嫦驅(qū)ο蠓椒ǖ幕靖拍?這樣的分類有一些非常明顯的特點: 層次性:不循環(huán) 繼承性:下面的分類具有上面分類的部分/全部特性與行為,同時也有它自己的特性與行為。 包含語義:上面的分類集合包含下面分類集合。 這樣的分類關系我們稱之為承繼。其中,下層的分類我們稱其為上層分類的子類(sub class),而上層的分類則稱為下層分類的超類(super class)。OODBS3.3 面向?qū)ο蠓椒ǖ幕?/p>
17、概念面向?qū)ο蠓椒ǖ幕靖拍?在數(shù)據(jù)庫中,繼承有其特定的語義含義: 分類語義:子類繼承超類的性質(zhì)和行為 全體/部分語義:超類的實例集合包含子類的實例集合 抽取象語義:從子類到超類是對子類共有特性與行為的抽取普化,generalization) 個性語義:從超類到子類是一個特殊化、具體化的過程特化,specialization) 類繼承提供了一個分析、了解和觀察客觀世界的一種方法。一般而言,子類繼承超類的全部特性與行為(我們稱其為全繼承),但實際上往往發(fā)展為只繼承超類的部分特性與行為(部分繼承)。OODBS3.3 面向?qū)ο蠓椒ǖ幕靖拍蠲嫦驅(qū)ο蠓椒ǖ幕靖拍?1. 類繼承層次結(jié)構(class in
18、heritance hierarchy structure)鏈狀層次結(jié)構,沒有循環(huán)單繼承一般情況下,類繼承層次是一種樹狀結(jié)構tree),這樣的繼承我們稱之為單繼承(圖8)。 學生 大學生 專科生 研究生 本科生 小學生 中學生 初中生 圖圖8 樹樹狀狀類類繼繼承承層層次次結(jié)結(jié)構構(單單繼繼承承) 高中生 博士生 OODBS3.3 面向?qū)ο蠓椒ǖ幕靖拍蠲嫦驅(qū)ο蠓椒ǖ幕靖拍?多繼承 在有的情況下,也允許一個子類擁有多個直接超類,這樣的繼承我們稱之為多繼承(圖9)。 在多繼承情況下,我們要求所有的類都具有一個共同的超類,從而構成一個格狀結(jié)構Lattice)。 師生員工 專科生 研究生 本科生 教
19、職工 學 生 職 工 圖圖9 格格狀狀類類繼繼承承層層次次結(jié)結(jié)構構(多多繼繼承承) 教 師 在職研究生 OODBS3.3 面向?qū)ο蠓椒ǖ幕靖拍蠲嫦驅(qū)ο蠓椒ǖ幕靖拍?2. 多態(tài)性(polymorphism)在繼承過程中,可以重新修改或定義被繼承下來的方法(屬性)的定義信息(方法的調(diào)用接口)或方法的實現(xiàn)代碼,該特性被稱為多態(tài)性。重載(overloading):在繼承過程中重新定義方法的實現(xiàn)代碼。重定義overriding):在繼承過程中,重新定義被繼承下來的屬性或方法的調(diào)用參數(shù)的數(shù)據(jù)類型。例如:幾何圖形的面積計算個人所得稅計算多態(tài)性的實現(xiàn)手段遲聯(lián)編late binding)動態(tài)聯(lián)編dynami
20、c binding)OODBS3.3 面向?qū)ο蠓椒ǖ幕靖拍蠲嫦驅(qū)ο蠓椒ǖ幕靖拍?3. 類合成(class composition)用于反映對象的分解與組成關系(嵌套),它具有下述三種語義信息:組成語義is-part-of):一個類可以有若干個合成類組成嵌套語義:一個類中屬性的值域可以是另一個類包括自己)聯(lián)系語義:通過類中屬性建立與其它類的聯(lián)系 學 生 學 號 姓 名 性 別 出 生 日 期 年 齡 系 別 課 程 選 課 ( ) 日 期 年 月 日 系 別 名 稱 地 址 電 話 課 程 課 程 號 課 程 名 先 修 課 程 號 主 講 教 師 圖圖11 類類 合合 成成 層層 次次 結(jié)
21、結(jié) 構構 圖圖 教 師 工 作 證 號 姓 名 職 稱 類 的 分 解 類 的 組 合 OODBS3.3 面向?qū)ο蠓椒ǖ幕靖拍蠲嫦驅(qū)ο蠓椒ǖ幕靖拍?4. 類合成層次結(jié)構(class hierarchy structure)類合成關系一般而言是一種層次結(jié)構,即由下層的類合成上層的類,但它不是樹結(jié)構,即在合成關系中允許一個類可以是上層多個類的組成類。合成關系允許循環(huán),類合成層次結(jié)構圖是一個網(wǎng)狀結(jié)構。15. 類層次結(jié)構(class hierarchy structure)類與類之間存在著三種關系:承繼、合成與消息。其中:合成:用于反映類中屬性與另一個類的聯(lián)系承繼:用于反映類與類之間的聯(lián)系音訊:根據(jù)應用需要而定義的一種類與類之間的協(xié)作機制繼承與合成都具有特定的語義信息,而消息本身并不具有某種特定的語義含義。因此,在OODM中,我們主要考慮類的合成與繼承關系,由它們可構成一個類層次結(jié)構。客觀世界中的任何事物都可以用合成和繼承這兩種方式構造出來。OODBS3.3 面向?qū)ο蠓椒ǖ幕靖拍蠲嫦驅(qū)ο蠓椒ǖ幕靖拍?學 生 學 號 姓 名 性 別 出 生 日 期 年 齡 系 別 課 程 選 課 (
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 交通協(xié)管員就業(yè)合同
- 浙江工業(yè)大學之江學院《醫(yī)用物理學》2023-2024學年第二學期期末試卷
- 新疆藝術學院《日語會話Ⅱ》2023-2024學年第二學期期末試卷
- 三亞學院《信息與網(wǎng)絡安全》2023-2024學年第二學期期末試卷
- 浙江省富陽二中2025年高三教學調(diào)研(二)物理試題試卷含解析
- 蘇州高博軟件技術職業(yè)學院《酒店服務心理學》2023-2024學年第二學期期末試卷
- 江蘇省蘇州昆山市2025屆初三6月熱身考化學試題含解析
- 長沙理工大學《生理學A》2023-2024學年第二學期期末試卷
- 三方合同共建企業(yè)的協(xié)議2025
- 江西省吉安市四校聯(lián)考2025年高三下學期期末調(diào)研測試語文試題含解析
- GB/T 2430-2008航空燃料冰點測定法
- 氣溫的分布和溫度帶
- 第6-2章生料粉磨和熟料粉磨
- 2023年廣東學位英語試題學位英語考試真題(含答案)
- 冒泡排序算法課件
- 粵教版五年級下冊科學知識點
- 文言文《守株待兔》說課稿課件
- 生物礦物課件
- GB∕T 36765-2018 汽車空調(diào)用1,1,1,2-四氟乙烷(氣霧罐型)
- DB34-T 4243-2022 智慧醫(yī)院醫(yī)用耗材SPD驗收規(guī)范
- 《覺醒年代》朗誦稿
評論
0/150
提交評論