1. <rp id="zsypk"></rp>

      2. 論面向對象的數(shù)據(jù)庫技術論文

        時間:2021-06-11 13:03:43 論文 我要投稿

        論面向對象的數(shù)據(jù)庫技術論文

          論文摘要:面向對象的數(shù)據(jù)庫極有可能是數(shù)據(jù)庫發(fā)展的方向,關系型數(shù)據(jù)庫已顯得力不從心,面向對象技術已經(jīng)滲透到了數(shù)據(jù)庫領域,把面向對象的方法和數(shù)據(jù)庫技術結合起來可以使數(shù)據(jù)庫系統(tǒng)的分析、設計最大程度地與人們對客觀世界的認識相一致。面向對象數(shù)據(jù)庫的技術機理并不高深,但它的設計思想?yún)s極有價值。

        論面向對象的數(shù)據(jù)庫技術論文

          論文關鍵詞:關,鍵,詞,數(shù)據(jù)庫,面向對象,技術

          (JinchangMunicipalPublicSecurityBureauGansuJingchang737100)隨著應用的日趨復雜和智能化,傳統(tǒng)的關系數(shù)據(jù)庫的缺點一點點的暴露出來,人們迫切希望產(chǎn)生一種新的數(shù)據(jù)庫解決方案來適應這些復雜需求。一種新的解決方案呼之欲出。而這個解決方案極有可能就是面向對象數(shù)據(jù)庫技術。面向對象數(shù)據(jù)庫的技術機理并不高深,但它的設計思想?yún)s極有價值。在傳統(tǒng)的面向對象應用開發(fā)中,由于傳統(tǒng)的關系數(shù)據(jù)庫開發(fā)風格完全不同于面向對象風格,使得許多程序員難以從復雜的SQL編程中解脫出來(盡管已經(jīng)有一些成熟的ORM技術框架,如Hibernate,但程序員仍需要做大量的數(shù)據(jù)庫代碼工作),從而也無法從實質上提高工作效率。

          1、面向對象數(shù)據(jù)庫技術概述

          面向對象是當前計算機界關心的重點,面向對象是一種新的方法學,也是一種認知方法學。它是一種支持模塊化設計和軟件重用的實際可行的編程方法,它把程序間的邏輯活動建立在對象間的消息傳遞之上,且設計上更加符合現(xiàn)實世界,更加自然,所以面向對象方法得到了更廣泛的應用。

          面向對象數(shù)據(jù)庫系統(tǒng)是為了滿足新的數(shù)據(jù)庫應用需要而產(chǎn)生的新一代數(shù)據(jù)庫系統(tǒng)。在數(shù)據(jù)庫中提供面向對象的技術是為了滿足特定應用的需要。隨著許多基本設計應用(如MACD和ECAD)中的數(shù)據(jù)庫向面向對象數(shù)據(jù)庫的過渡,面向對象思想也逐漸延伸到其它涉及復雜數(shù)據(jù)的應用中,其中包括輔助軟件工程(CASE)、計算機輔助印刷(CAP)和材料需求計劃(MRP)。這些應用如同設計應用一樣在程序設計方面和數(shù)據(jù)類型方面都是數(shù)據(jù)密集型的,它們需要識別于類型關系的存儲技術,并能對相近數(shù)據(jù)備份進行調(diào)整。

          セ褂行磯嚶τ靡求多媒體數(shù)據(jù)庫。它們要求以集成方式和文本或圖形信息一起處理關系數(shù)據(jù),這些應用包括高級辦公室系統(tǒng)的其它文檔管理系統(tǒng)。

          ッ嫦蚨韻笫據(jù)庫從面向程序設計語言的擴充著手使之成為基于面向對象程序設計語言的面向對象數(shù)據(jù)庫。例如:ONTOS、ORION等,它們均是C++的擴充,熟悉C++的人均能很方便地掌握并使用這類系統(tǒng)。

          面向對象數(shù)據(jù)庫研究的另一個進展是在現(xiàn)有關系數(shù)據(jù)庫中加入許多純面向對象數(shù)據(jù)庫的功能。在商業(yè)應用中對關系模型的面向對象擴展著重于性能優(yōu)化,處理各種環(huán)境的對象的物理表示的優(yōu)化和增加SQL模型以賦予面向對象特征。如UNISQL、O2等,它們均具有關系數(shù)據(jù)庫的基本功能,采用類似于SQL的語言,用戶很容易掌握。

          2.面向對象數(shù)據(jù)庫的優(yōu)點

          面向對象數(shù)據(jù)庫是數(shù)據(jù)庫技術與面向對象程序設計方法相結合的產(chǎn)物,由于同是面向對象方法學,所以其具有了所有面向對象的優(yōu)點。同時,由于數(shù)據(jù)庫主要操作的'是集合(而不是單個數(shù)據(jù)),所以其又具有自身的特點和優(yōu)點。

          (1)提高數(shù)據(jù)庫開發(fā)效率

          由于面向對象本身的親和性,使得人們可以使用更自然的方式來開發(fā)數(shù)據(jù)庫,而不必像關系數(shù)據(jù)庫那樣考慮到方方面面諸如規(guī)范到第幾范式等等問題,大大的提高了開發(fā)效率。同時,由于面向對象開發(fā)的流行,人們往往更熱衷于使用面向對象的方式思考問題,這也無形中提高了數(shù)據(jù)庫系統(tǒng)的開發(fā)效率。再有,應用于數(shù)據(jù)庫間的交互將變得更加直接和方便,因為加入應用也是面向對象的,那么可以將面向對象數(shù)據(jù)庫中的對象直接映射到應用程序的對象中。比如當前J2EE開發(fā)中流行的EJB以及開源的Hibernate等框架技術就是在關系數(shù)據(jù)數(shù)據(jù)庫與面向對象間搭橋方面做了積極的工作。而對于面向對象數(shù)據(jù)庫來數(shù),EJB和Hibernate等中間技術將顯得無用,人們可以直接將數(shù)據(jù)庫中的信息轉換到基于面向對象技術應用程序的對象中,而且效率更高(因為無需中間層的轉化)。程序員可以徹底的從持久層復雜的開發(fā)邏輯中解放出來,投入跟為重要的業(yè)務邏輯開發(fā)中,而且再也不用寫復雜的SQL語句,因為應用中的編程和數(shù)據(jù)庫中的編程時一致的【1】。

          (2)數(shù)據(jù)庫本身可以完成復雜的邏輯

          由于使用了面向對象方法學,在數(shù)據(jù)庫中編寫復雜的邏輯變得簡單了,于是,人們可以在數(shù)據(jù)庫中加入復雜的邏輯,而且可以和在應用中添加的邏輯相互銜接。目前,主流數(shù)據(jù)庫都提供了過程化查詢語言,但畢竟還是過程化的,它天生就不如面向對象方法高效簡單,因此人們往往并不想使用過程化查詢語言實現(xiàn)太復雜的邏輯,因為它將導致開發(fā)和維護困難,提升成本。

          在數(shù)據(jù)庫中使用數(shù)據(jù)庫查詢語言實現(xiàn)復雜的基于面向對象的業(yè)務邏輯是面向對象數(shù)據(jù)庫的一大亮點。這不僅使得程序的開發(fā)和維護變得簡單,而且執(zhí)行性能也得到了提升(因為在數(shù)據(jù)中實現(xiàn)的邏輯總比在應用中實現(xiàn)的邏輯快那么一兩步)。

         。3)低冗余性和高效性

          在關系數(shù)據(jù)庫中,低冗余和高效一直是魚和熊掌不可兼得的狀態(tài)。低冗余往往會使得查詢困難并最終導致數(shù)據(jù)庫效率降低(因為將產(chǎn)生可觀的笛卡爾集或者生成復雜的查詢優(yōu)化方案,從而降低效率)。而在面向對象數(shù)據(jù)庫中,查詢將變成對對象ID和消息的傳遞(也就是方法調(diào)用),從而消除了大范圍的笛卡爾集帶來的困擾,提高數(shù)據(jù)庫的訪問效率。同時,由于面向對象的封裝性,使得面向對象數(shù)據(jù)庫在設計程序時天生就已經(jīng)達到了相當于關系數(shù)據(jù)庫中的第三范式的設計準則。因此面向對象的數(shù)據(jù)庫天生就是低冗余的。

          (4)提高軟件的可重用性

          原因很簡單,因為面向對象的設計思想本來就要求你把業(yè)務邏輯封裝到一個個對象中,并通過給它們傳遞消息調(diào)用業(yè)務邏輯計算。這樣,你就不得不首先把一些通用的業(yè)務邏輯設計在一個個類中,下次使用只需調(diào)用它們即可。同時,面向對象方法還有繼承該概念,繼承使得功能可以從一個類直接擴展到它的子類中。另外,多態(tài),動態(tài)聯(lián)編等技術以及設計模式的應用使得代碼的可復用性得到了最大限度的擴展【2】。

          3.面向對象方法學在計算機領域中的應用

          面向對象數(shù)據(jù)庫系統(tǒng)可以應用于復雜的諸如人工智能等領域,也可以使用于傳統(tǒng)的企業(yè)級應用?傊嫦驅ο髷(shù)據(jù)庫可以應用在所有關系數(shù)據(jù)庫能夠應用的地方,且在許多方面效能更高,比如人工智能和其他較為復雜的應用中。面向對象數(shù)據(jù)庫現(xiàn)在已經(jīng)存在一些實現(xiàn),主要是三條路線:

         。1)以關系數(shù)據(jù)庫和SQL為基礎的擴展關系模型

          這種方式的優(yōu)點是適宜于市場推廣,缺點是無法做到純粹的面向對象性。這個方式已經(jīng)在各大主流數(shù)據(jù)庫總得到實現(xiàn),如Oracle、DB2等。

         。2)以面向對象程序設計語言為基礎

          這種方式是以面向對象程序設計語言為基礎的,研究持久的程序設計語言。這種方式的優(yōu)點是它是純粹的面向對象的,缺點是難以進行市場推廣。

         。3)建立新的面向對象數(shù)據(jù)庫

          這種方式已經(jīng)有一些實現(xiàn),如法國O2Technology公司的O2系統(tǒng)。優(yōu)缺點與第二條路線一致,基于研究的目的,本文中的面向對象數(shù)據(jù)庫的簡易實現(xiàn)版本是以這種方式為基礎的。

          4.面向對象技術和數(shù)據(jù)庫技術的結合沿著三種途徑發(fā)展【3】:

          1)面向對象數(shù)據(jù)庫管理系統(tǒng)(OODBMS)

          面向對象數(shù)據(jù)庫管理系統(tǒng)以一種面向對象語言為基礎,增加數(shù)據(jù)庫的功能,主要支持持久對象和實現(xiàn)數(shù)據(jù)共享。利用類來描述復雜對象,利用封裝方法來模擬對象行為,利用繼承性來實現(xiàn)對象的結構和方法的重用。但是這種純粹的面向對象數(shù)據(jù)庫管理系統(tǒng)不能支持SQL語言,不能和現(xiàn)有的數(shù)據(jù)庫結合起來,在擴展性和通用性方面受到限制。

          2)對象關系數(shù)據(jù)庫管理系統(tǒng)(ORDBMS)

          對象關系數(shù)據(jù)庫管理系統(tǒng)既支持SQL語句,也支持面向對象技術,實現(xiàn)了傳統(tǒng)數(shù)據(jù)庫技術和面向對象技術的完美結合。全球的數(shù)據(jù)庫生產(chǎn)商爭相研發(fā)這種數(shù)據(jù)庫產(chǎn)品,數(shù)據(jù)庫生產(chǎn)商競爭的一個焦點是如何在現(xiàn)有的數(shù)據(jù)庫中加入面向對象技術。

          3)對象關系映射數(shù)據(jù)庫系統(tǒng)(ORMDBMS)

          對象關系映射數(shù)據(jù)庫系統(tǒng)是在對象層和關系層之間建立一個映射層,使得數(shù)據(jù)源中的關系數(shù)據(jù)能夠進入對象領域,并且作為對象供上層應用使用。

          5、面向對象技術在數(shù)據(jù)庫中的實現(xiàn)

          將面向對象技術應用到關系數(shù)據(jù)庫中可以有兩種方式:

          一種方式是把面向對象技術中的對象作為關系數(shù)據(jù)庫系統(tǒng)中的一種新的數(shù)據(jù)模型。關系表中的屬性值包含對象指針,對象數(shù)據(jù)的操作在關系數(shù)據(jù)庫之外進行。把面向對象數(shù)據(jù)模型(ODM)和關系數(shù)據(jù)模型(RDM)結合起來,對關系數(shù)據(jù)庫管理系統(tǒng)進行擴充,但對象查詢功能受到一定的限制。

          另一種方式是把面向對象接口添加在關系數(shù)據(jù)庫中,在關系數(shù)據(jù)庫系統(tǒng)中增加一個對象至關系轉換器,將上層的面向對象模式轉化為關系存儲模式,存放到關系數(shù)據(jù)庫中。這樣,在面向對象的數(shù)據(jù)庫中關系存儲模型位于底層,數(shù)據(jù)庫用戶可以利用標準的面向對象數(shù)據(jù)庫語言進行查詢處理,用戶輸入的面向對象數(shù)據(jù)庫語言被轉換成關系數(shù)據(jù)庫語言,從而對底層的關系存儲模式進行查詢等處理,同時將操作結果按照對象方式返回給用戶。這種實現(xiàn)方式使得數(shù)據(jù)庫管理系統(tǒng)在實現(xiàn)關系模型和面向對象模型之間的模型轉換時需要一定的開銷,執(zhí)行效率比直接面向對象數(shù)據(jù)庫要低一些,但這種擴充方式實現(xiàn)比較簡單。下面主要介紹一下第二種方式是如何實現(xiàn)的:

          面向對象技術通過映射接口和關系數(shù)據(jù)庫相結合,面向對象數(shù)據(jù)庫強調(diào)的是對象的屬性、方法和對象間的關系,設計這種類型的數(shù)據(jù)庫需要理解對象到關系數(shù)據(jù)庫表的映射方法。這種映射方法通過將對象類生成為SQL語言中的數(shù)據(jù)定義語言(DDL)來將對象轉換成一個好的概念層的數(shù)據(jù)模型(DDL)【4】。

          6.結論

          隨著計算機技術的飛速發(fā)展,現(xiàn)有的數(shù)據(jù)庫技術不能滿足計算機網(wǎng)絡、多媒體技術、CAD/CASE等領域的需要,面向對象技術應用到現(xiàn)有的數(shù)據(jù)庫中應運而生。面向對象技術和數(shù)據(jù)庫技術結合的三種途徑以及面向對象技術應用到數(shù)據(jù)庫中的優(yōu)勢,通過在關系數(shù)據(jù)庫中增加一個對象至關系轉換器,把面向對象接口添加到關系數(shù)據(jù)庫中來實現(xiàn)面向對象技術在關系數(shù)據(jù)庫中的應用。

          參考文獻

          1 Alex Kriegel and Boris M.Trukhnov.SQL寶典[M].北京:電子工業(yè)出版社,2003. 1~200

          2 Bruce Eckel.Thinking In Java 4 [M].北京:機械工業(yè)出版社,2006.1~600

        【論面向對象的數(shù)據(jù)庫技術論文】相關文章:

        面向對象程序設計教學淺析的論文07-05

        論面向主動式配網(wǎng)的微電網(wǎng)技術論文05-20

        遞進案例在面向對象程序設計教學應用論文01-11

        高等職業(yè)教育面向對象教學模式之構建論文07-04

        論地質鉆探技術的應用論文04-05

        探究統(tǒng)一建模語言在面向對象分析與設計中的應用論文04-22

        不能錯過的關于面向對象的java筆試題03-19

        論蔬菜輪作原理和技術論文01-12

        淺析面向對象的多桿機構多目標多約束優(yōu)化設計方法的論文04-19

        99热这里只有精品国产7_欧美色欲色综合色欲久久_中文字幕无码精品亚洲资源网久久_91热久久免费频精品无码
          1. <rp id="zsypk"></rp>