面向對象數據庫理論設想

    時間:2024-09-17 23:46:24 計算機應用畢業論文 我要投稿
    • 相關推薦

    面向對象數據庫理論設想

        [論文關鍵詞】數據庫  面向對象  數據庫系統
        [論文摘要]面向對象數據庫系統是為了滿足新的數據庫應用需要而產生的新一代數據庫系統。討論和設計了面向對象數據庫的理論概念和含義,設計和構建了一個面向對象的數據庫系統的理論體系。
        隨著應用的擴展,特別是諸如人工智能等復雜應用的需要,關系型數據庫已經顯得力不從心了,人們迫切希望產生一種新的數據庫解決方案來適應這些復雜需求。今后,面向對象的數據庫極有可能是數據庫發展的方向。
         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)子類/超類聯系的改變
        面向對象數據庫將有可能成為以后數據庫發展的方向。我國目前在操作系統和數據庫系統方面是嚴重的依賴于他國的,沒有自己成功的作品(包括商業上的成功),特別是在面向對象數據庫領域幾乎是一個空白。因此,我們有機會填補這個空白。

    【面向對象數據庫理論設想】相關文章:

    面向對象的嵌入式系統設計方法03-18

    面向對象設計在樓宇控制系統中的應用03-18

    地方文獻數據庫檢索系統建立之設想03-18

    采用VC 面向對象技術構建巖土工程勘察軟件03-19

    面向對象程序設計技術在金融信息系統的應用03-07

    淺論面向對象程序設計技術在金融信息系統的應用03-01

    面向對象petri網防空C3I系統建模12-26

    基于面向對象技術的價值鏈會計構建03-18

    原創法度:“面向事實”抑或“面向文本”-“中國問題”與馬克03-04

    91久久大香伊蕉在人线_国产综合色产在线观看_欧美亚洲人成网站在线观看_亚洲第一无码精品立川理惠

      久久成人免费精品二区 | 在线看AV永久免费 | 日韩国产欧美丝袜在线 | 亚洲国产动漫日韩精品一区 | 亚洲日韩性色一区二区三区 | 亚欧美在线免费观看 |