美章網 資料文庫 對象數據庫理論研究范文

對象數據庫理論研究范文

本站小編為你精心準備了對象數據庫理論研究參考范文,愿這些范文能點燃您思維的火花,激發您的寫作靈感。歡迎深入閱讀并收藏。

1面向對象數據庫模型

1.1核心概念

1.i.1對象與對象標識

對象,是現實世界中實體的抽象,是數據和操作的集合,是持久化到數據庫中的最小的存儲單位。

這里的對象其實與一般的面向對象程序設計語言中的對象并沒有很大不同。但是,這里的對象是持久性的。數據庫中的對象是數據記錄的最小單位,也就是說,數據庫中至少存在一個對象才有意義。當然,對象中還可以有對象的屬性,方法等,但一個對象必須是完整的。

對象標識,指的是唯一標定一個對象的標志,一個對象對應一個標識符。在現實世界中,對象可能會隨著時間的推移而發生改變,但對象標識不應該改變,因此,對象標識自對象生成后就不應該再改變,否則無法使用對象標識唯一確定一個對象了。即使兩個對象的屬性和方法以及狀態完全一致,只要其對象標識不同,則兩者是不同的對象。

對象標識一般有以下三種實現方式川(e}‘一r}sz}:

(1)值標識,使用對象的某一屬性作為其對象標識,不推薦此方式。

(2)名標識,使用一個名字來表示標識。推薦此種方式。

(3)內標識,以上兩種方式是由用戶建立的,而這種方式是由系統內部建立的,不具有任何實際含義,且只有系統才可以“觀察”此類對象標識。

另外,在對象數據庫中,標識是永久不變的,即具有永久持久性,這和面向對象程序中的對象標識不一樣,面向對象程序中的對象標識只具有對象內持久性。

1.1.2封裝

抽象是對象的外部界面與內部實現之間實行清晰隔離的一種抽象,外部與對象的通信只能通過消息來實現[2)(e3o6-r}s6>.在對象數據庫中,表現為對象的私有和保護成員只能通過其方法來查詢得到,而公有成員可以直接查詢。這種方式的優點是對象被封裝成了自含的單元,對象只接受已定義好的操作,其他對象不能直接訪問對象的非公有成員。缺點是喪失了傳統關系數據庫中進行即席的、按內容的查詢,這就不夠方便靈活了,因此,需要做一些改進和妥協。

1.1.3類

共享同一屬性和方法集的所有對象構成的對象類,一個對象是一個類的實例。在數據庫是一種抽象的數據類型,相當于關系數據庫中的一張表。

1.1.4類層次

這里涉及到繼承的概念,即類可以繼承類,從而具有與父類(或稱超類)的所有符合條件(只保護類型或公有類型)的屬性和方法。這是關系數據庫中所沒有的。

1.1.5消息

指的是對象的方法調用。通過對象的方法調用可以訪問對象的屬性數據和執行業務邏輯。這也是關系數據庫中沒有的。

1.2對象與對象標識

1.2.1對象結構

包括兩部分,一個是屬性集合,一個是方法集合。屬性集合將用于存儲數據,方法集合將用于操作數據。屬性集合即是對象的成員變量,其中又可以分為公有類型的成員、私有類型的成員和保護類型的成員。公有類型的成員可以直接使用查詢語句進行查詢,保護型成員可以在該類的子類的對象中直接訪問,私有類型的成員只能在本類的對象中訪問,外部對象只能通過實現定義好的方法(即操作)進行訪問。如果沒有事先定義好的方法,則外部將無法訪問這些變量的值,這就實現了對象的封裝性了。在00數據庫中,對象結構同樣分成這兩種集合。

1.2.2對象標識

表示在一個數據庫中一個對象僅有一個唯一不變的標識就是對象標識。這個標識用來精確定位一個對象。在00數據庫中,對象標識是唯一標定這一持久性存儲單元的唯一依據。其它對象或方法訪問本對象的屬性和方法必須先找到該對象的對象標識,否則無法訪問。

1.2.3封裝

即將一個對象的屬性和方法封裝在對象內部,外部只能通過對象提供的外部接口進行訪問。這樣就提高了數據的安全性和代碼的重用性。

I.3類與類層次

相似對象的集合稱為類,在數據庫中表現為面向對象數據庫模式的集合,它規定了該類的對象的數據結構規則和操作規則。在面向對象數據庫中,一個類相當于關系數據庫中的一張表。它同樣有字段和屬性,甚至還有關系數據庫表所沒有的方法。這種思路將使得可以在面向對象數據庫中實現復雜的邏輯。

類層次表現在繼承上,即父類和子類的層級關系。這是為了多態和數據共享的目的。這種思路可以象Java中那樣使用接口和基類來完成設計。

1.4繼承

就像類層次中所說的,繼承是為了多態和數據共享的目的,也是面向對象代碼重用的重要機制之一。

I.5滯后聯編

即實現了重載的效果,OODBMS不能在編譯時把操作名聯編到程序上,必須在運行時根據需要進行抉擇。

1.6對象的嵌套

是一種設計模式-組合。將多個類的對象加人到一個類的屬性中,使之實現復雜的功能。

2面向對象數據庫語言

ool}B語言用于描述面向對象數據庫模式,說明并操作類定義和對象實例。ooDB語言主要包括對象定義語言(ODL)和對象操作語言(OML),其中對象操作語言又包括一個重要子集-對象查詢語言(OQL)t3)。OODB語言一般應該具備下列功能。

2.1類的定義與操作

包括定義、生成、存取、修改和撤銷類。其中類的定義包括定義類的屬性,操作特征、繼承性與約束等。

2.2操作/方法的定義

面向對象數據庫語言可以用來定義操作/方法,在操作實現中,語言的命令可用于操作對象局部數據結構。

2.3對象的查詢

OODB語言可以用于操作(包括生成、存取、修改與刪除)實例對象。對于對象的存取-查詢部分,OODB語言可以直接查詢對象個公有成員而不必向每一個對象“-單”發送消息。而對于非公有成員,則只能通過發送消息來實現存取、修改與刪除了。通過發送消息的查詢效率可能會很低,因此對于一些經常要查詢的數據應該盡量定義為公有類型。

3面向對象數據庫模式

3.1模式的一致性

(1)唯一性約束:即同一模式中所有類的名字必須唯一、類中屬性名和方法名必須唯一。

(2)存在性約束:每個被引用的類必須在模式中定義、某操作代碼中調用的操作不需給出說明、每一個說明的操作必須存在一個現實程序。

(3)子類型約束:子類和父類(或超類)不能有環、不能有多繼承(向Java學習)、單一超類必須加以說明。

3.2模式演進操作

主要包括以下幾個部分:

(功類集的改變

(2)已有類的成分的改變

(3)子類/超類聯系的改變

面向對象數據庫將有可能成為以后數據庫發展的方向。我國目前在操作系統和數據庫系統方面是嚴重的依賴于他國的,沒有自己成功的作品(包括商業上的成功),特別是在面向對象數據庫領域幾乎是一個空白。因此,我們有機會填補這個空白。

主站蜘蛛池模板: 国产熟女乱子视频正在播放| 亚洲一区二区三区在线观看网站 | 香蕉久久夜色精品国产| 69堂在线观看| 18成人片黄网站www| 欧美成人18性| 黄页网站免费在线观看| 调教贱奴女警花带乳环小说| 美女扒开尿口给男人看的让| 精品国产午夜理论片不卡| 精品国产线拍大陆久久尤物| 精品亚洲456在线播放| 男女啪啪免费体验区| 波多野结衣妻奴| 欧美亚洲国产激情一区二区| 欧美三级一级片| 明星换脸高清一区二区| 抽搐一进一出gif免费视频| 成人动漫3d在线观看| 在线播放高清国语自产拍免费| 国内免费高清视频在线观看| 国产精品99久久免费观看| 国产在线无码视频一区二区三区| 国产三级小视频| 再深点灬舒服灬太大了免费视频 | 请与我同眠未删减未遮挡小说| 精品视频一区二区观看| 波多野结衣妻奴| 榴莲视频在线观看污| 无码人妻丰满熟妇区五十路| 小雪校花的好大的奶好爽| 国模无码一区二区三区不卡| 国产粉嫩粉嫩的18在线播放91| 国产专区第一页| 免费看又黄又无码的网站| 亚洲国产精品日韩在线| 久久精品国产99精品国产亚洲性色 | 亚洲成a人片毛片在线| 久久精品aⅴ无码中文字字幕重口 久久精品aⅴ无码中文字字幕重口 | 欧美人xxxx| 手机在线看片国产|