徐穎
【摘 要】隨著計(jì)算機(jī)技術(shù)的發(fā)展,計(jì)算機(jī)的應(yīng)用領(lǐng)域日益廣泛,從科學(xué)計(jì)算逐步發(fā)展為處理社會(huì)事務(wù)數(shù)據(jù)的工具。數(shù)據(jù)庫理論在近幾年來不斷的完善和發(fā)展,并且在商業(yè)化推廣應(yīng)用上取得了矚目的成績(jī),數(shù)據(jù)庫技術(shù)已經(jīng)成為了計(jì)算機(jī)技術(shù)的重要基礎(chǔ)領(lǐng)域之一。本文主要是對(duì)面向?qū)ο蟮臄?shù)據(jù)庫技術(shù)的發(fā)展?fàn)顩r進(jìn)行了系統(tǒng)地分析。
【關(guān)鍵詞】數(shù)據(jù)庫技術(shù);面向?qū)ο髷?shù)據(jù)庫;對(duì)象關(guān)系數(shù)據(jù)庫
近十幾年來,將其他技術(shù)滲透到數(shù)據(jù)庫系統(tǒng)中的研究和實(shí)踐得到了快速發(fā)展,其中最重要的成果就是面向?qū)ο蟮臄?shù)據(jù)庫技術(shù)。面向?qū)ο蟮臄?shù)據(jù)庫將面向?qū)ο蠓椒ê蛿?shù)據(jù)庫技術(shù)緊密的結(jié)合在了一起,并且已經(jīng)有了一些理論和實(shí)踐的成果。
1 數(shù)據(jù)庫的發(fā)展
隨著計(jì)算機(jī)技術(shù)的發(fā)展,計(jì)算機(jī)的應(yīng)用領(lǐng)域也不斷的擴(kuò)大逐漸的從科學(xué)計(jì)算發(fā)展到社會(huì)事務(wù)的數(shù)據(jù)處理,在這樣的背景下數(shù)據(jù)庫也就產(chǎn)生了?,F(xiàn)在數(shù)據(jù)庫已經(jīng)發(fā)展成為計(jì)算機(jī)技術(shù)的主要領(lǐng)域之一。數(shù)據(jù)庫產(chǎn)生于20世紀(jì)60年代中期,至今為止共經(jīng)歷了三次具有歷史意義的飛躍。第一次是數(shù)據(jù)模型概念的產(chǎn)生,在計(jì)算機(jī)算計(jì)操作系統(tǒng)產(chǎn)生之后,人們?yōu)榱私⒁惶讛?shù)據(jù)組織操作系統(tǒng)加強(qiáng)了對(duì)數(shù)據(jù)文件組織、管理等方面的研究,它產(chǎn)生的基礎(chǔ)是一層次模型和網(wǎng)絡(luò)模型。在“大型共享數(shù)據(jù)庫的關(guān)系模型”的論文中,系統(tǒng)的提出了數(shù)據(jù)庫關(guān)系模型,這一套理論為數(shù)據(jù)庫的進(jìn)一步發(fā)展奠定了充足的理論基礎(chǔ)。第二次是以關(guān)系數(shù)據(jù)庫為代表,到了80年代已經(jīng)出現(xiàn)了眾多關(guān)系型的商品化系統(tǒng),使數(shù)據(jù)庫更加廣泛的應(yīng)用于企業(yè)管理、輔助決策等社會(huì)事務(wù)數(shù)據(jù)的處理中。這些商業(yè)數(shù)據(jù)庫系統(tǒng),使數(shù)據(jù)庫更加廣泛的應(yīng)用到企業(yè)管理、情報(bào)檢索,輔助決策等。第三次是面向?qū)ο髷?shù)據(jù)庫、知識(shí)庫、媒體庫。計(jì)算機(jī)技術(shù)不斷的發(fā)展,應(yīng)用領(lǐng)域也在不斷的壯大,數(shù)據(jù)庫越來越多的和通訊網(wǎng)絡(luò)、人工智能、多媒體技術(shù)融合,相信第三代數(shù)據(jù)庫即將到來。
2 面向?qū)ο髷?shù)據(jù)庫的設(shè)計(jì)思想
面向?qū)ο髷?shù)據(jù)庫設(shè)計(jì)思想主要由兩部分構(gòu)成:一方面,將面向?qū)ο蟮恼Z言向數(shù)據(jù)庫的方向發(fā)展,通過使用一系列的程序?qū)@些對(duì)象進(jìn)行處理,并在數(shù)據(jù)庫這種無限的虛擬空間當(dāng)中儲(chǔ)存。另一方面,不斷的擴(kuò)展數(shù)據(jù)庫系統(tǒng),通過建立一種綜合的語義數(shù)據(jù)概念集,在現(xiàn)實(shí)實(shí)體和數(shù)據(jù)庫之間搭建一種橋梁。對(duì)于面向?qū)ο髷?shù)據(jù)庫的方法不同的人有不同的理解,如何將面向?qū)ο蟮姆椒ㄅc數(shù)據(jù)庫結(jié)合在一起,不同的人有不同的方法,具體的策略有以下幾種:第一,建立一套全新的數(shù)據(jù)庫模型和數(shù)據(jù)語言模型,這種模型不借助現(xiàn)有的任何系統(tǒng),現(xiàn)階段許多的研究性面向?qū)ο髷?shù)據(jù)庫多采用這種方案。第二,利用對(duì)象的某一種能力來拓寬數(shù)據(jù)庫語言,像C++語言就是從C這種語言擴(kuò)展而來的,因此,在下一代數(shù)據(jù)庫產(chǎn)品中也可以加入對(duì)象機(jī)制。這種方式在面向?qū)ο蟪绦蛘Z言的基礎(chǔ)上增加數(shù)據(jù)的功能。第三,提供一個(gè)可以擴(kuò)充的面向?qū)ο蟮臄?shù)據(jù)庫系統(tǒng)。第四,借助數(shù)據(jù)庫的能力擴(kuò)充面向?qū)ο蟮某绦蛟O(shè)計(jì)語言。在面向?qū)ο蟮恼Z言中加入持久性、事務(wù)管理、查詢等數(shù)據(jù)庫的特征,使其具有數(shù)據(jù)庫的特性。第五,在傳統(tǒng)的宿主語言中融入面向?qū)ο蟮恼Z言結(jié)構(gòu)。目前,對(duì)面向?qū)ο髷?shù)據(jù)庫存在著兩種理解,一種是廣義的將使用面向?qū)ο蟮臄?shù)據(jù)庫系統(tǒng)都統(tǒng)一稱作面向?qū)ο髷?shù)據(jù)庫系統(tǒng),另一種是理解相對(duì)狹隘一點(diǎn),主要是一種革命化的方法全面引進(jìn)對(duì)象的概念和技術(shù)。
3 傳統(tǒng)數(shù)據(jù)庫的局限性
傳統(tǒng)的數(shù)據(jù)庫與面向?qū)ο蟮臄?shù)據(jù)庫相比具有較強(qiáng)的局限性。首先,傳統(tǒng)的數(shù)據(jù)庫中大多都采用數(shù)據(jù)模型,因而結(jié)構(gòu)化較強(qiáng)主要是面向機(jī)器語法的數(shù)據(jù)模型,它只能夠儲(chǔ)存有限的零散數(shù)據(jù)關(guān)系?,F(xiàn)實(shí)中的對(duì)象結(jié)構(gòu)往往是比較復(fù)雜的,對(duì)象與對(duì)象之間有著密切的聯(lián)系,這種復(fù)雜性也就決定了傳統(tǒng)的數(shù)據(jù)庫并不能對(duì)這些對(duì)象進(jìn)行數(shù)據(jù)處理。傳統(tǒng)的數(shù)據(jù)庫并不能解釋數(shù)據(jù)之間更深層次的聯(lián)系,不能對(duì)數(shù)據(jù)進(jìn)行抽象化處理。其次,傳統(tǒng)的數(shù)據(jù)庫只能解決一些簡(jiǎn)單固定的數(shù)據(jù)類型,更加復(fù)雜的數(shù)據(jù)類型要通過用戶編寫程序借助高級(jí)語言來完成。再次,結(jié)構(gòu)與行為存在完全分開的現(xiàn)象。傳統(tǒng)的關(guān)系數(shù)據(jù)庫技術(shù)的功能僅僅局限于正文、數(shù)字型的事物處理。從程序員的角度來看標(biāo)識(shí)對(duì)象一般包括結(jié)構(gòu)表示和行為規(guī)格說明這兩方面的內(nèi)容。傳統(tǒng)的數(shù)據(jù)庫是一種語法數(shù)據(jù)庫,比較注重?cái)?shù)據(jù)的獨(dú)立性,難以抽象的模擬某些行為,對(duì)象的行為特征在傳統(tǒng)的數(shù)據(jù)庫中只能通過某些程序來表示,大量的語義難以從毫無意義的編碼中恢復(fù)完整,這也就導(dǎo)致了結(jié)構(gòu)與行為的分離。最后,傳統(tǒng)的數(shù)據(jù)庫存在著阻抗失配的現(xiàn)象。主要表現(xiàn)為編程模式不同和類型系統(tǒng)不同,這樣的數(shù)據(jù)庫可能會(huì)出現(xiàn)信息丟失的現(xiàn)象。此外,傳統(tǒng)的數(shù)據(jù)庫不能為層次數(shù)據(jù)提供結(jié)構(gòu)支持,缺乏對(duì)版本配置的管理,并且程序語言和數(shù)據(jù)庫語言之間存在著不協(xié)調(diào)現(xiàn)象。傳統(tǒng)數(shù)據(jù)庫的這些特性也就制約了它在更大范圍發(fā)揮作用。傳統(tǒng)的數(shù)據(jù)庫能夠處理的對(duì)象有限,難以適應(yīng)新領(lǐng)域的新要求,二者之間產(chǎn)生了不可調(diào)和的矛盾,正是這種矛盾推動(dòng)技術(shù)的革新和發(fā)展。
4 面向?qū)ο蟮臄?shù)據(jù)庫具有的新特征
隨著數(shù)據(jù)庫的快速發(fā)展,社會(huì)其他領(lǐng)域也擴(kuò)大了對(duì)數(shù)據(jù)庫技術(shù)的需求,這些領(lǐng)域在為數(shù)據(jù)庫開辟了廣闊天地的同時(shí),也向數(shù)據(jù)庫提出了更高的要求。面向?qū)ο蟮臄?shù)據(jù)庫,是在面向?qū)ο蟮哪P团c先進(jìn)的數(shù)據(jù)庫結(jié)合形成的一種新型的數(shù)據(jù)庫類型。
新的應(yīng)用領(lǐng)域所處理的對(duì)象一般結(jié)構(gòu)較為復(fù)雜,用二維的關(guān)系結(jié)構(gòu)圖難以全面完整的表示出來,結(jié)構(gòu)往往更加復(fù)雜有層次。在新的領(lǐng)域中對(duì)某一對(duì)象的處理經(jīng)常會(huì)涉及到時(shí)間的變化,并且要保存大量的數(shù)據(jù),部件還要具有可重用性。處理的數(shù)據(jù)量往往比較大,可能會(huì)有超長(zhǎng)的正文數(shù)據(jù)、圖形、圖像、聲音等數(shù)據(jù)。在20世紀(jì)80年代,Atkinson根據(jù)自己的研究經(jīng)驗(yàn)發(fā)表了一篇宣言,這是第一次對(duì)面向?qū)ο髷?shù)據(jù)庫系統(tǒng)的概念和特征進(jìn)行概述,可總結(jié)概括為三個(gè)方面的特征。第一,必備的,復(fù)雜對(duì)象、對(duì)象表示、可擴(kuò)充、計(jì)算完備、恢復(fù)性和持久性等。第二,可選類,這一類的特性是為了讓系統(tǒng)更加完備,多重繼承性、設(shè)計(jì)事務(wù)所處理版本、類型檢查等。第三,開放的。設(shè)計(jì)人員可以根據(jù)具體的需求可選擇的需求,分別是設(shè)計(jì)范型、表示系統(tǒng)、系統(tǒng)的單一性。
面向?qū)ο蟮臄?shù)據(jù)庫要具有以下幾個(gè)特征:首先,由屬性和操作共同組成的對(duì)象。其次,能夠進(jìn)行歸類,可以將幾個(gè)有著共同特性的對(duì)象歸為不同的類型。再次,可擴(kuò)充性,當(dāng)數(shù)據(jù)庫增加一種新的對(duì)象后不會(huì)對(duì)原有的對(duì)象的應(yīng)用產(chǎn)生影響。最后,多態(tài)性。面向?qū)ο蟮臄?shù)據(jù)庫能夠針對(duì)不同的對(duì)象對(duì)相同的信息做出的不同反應(yīng)做出不同的處理,并且能夠充分的理解信息內(nèi)容。
5 面向?qū)ο髷?shù)據(jù)庫的實(shí)現(xiàn)方法
面向?qū)ο髷?shù)據(jù)庫是面向?qū)ο蠹夹g(shù)和數(shù)據(jù)庫結(jié)合的產(chǎn)物,它一直備受工業(yè)界和學(xué)術(shù)界的關(guān)注。面向?qū)ο髷?shù)據(jù)庫與傳統(tǒng)的數(shù)據(jù)庫相比具有很多的優(yōu)勢(shì),能夠?qū)?gòu)造復(fù)雜的對(duì)象進(jìn)行處理,它集成和發(fā)展了類層技術(shù)使軟件能夠進(jìn)行重用。第一代數(shù)據(jù)庫和第二帶數(shù)據(jù)庫都得到了蓬勃發(fā)展,隨著科學(xué)技術(shù)的發(fā)展和數(shù)據(jù)庫應(yīng)用范圍的擴(kuò)大,不同的應(yīng)用領(lǐng)域?qū)?shù)據(jù)庫提出了更高的要求。
面向?qū)ο蠹夹g(shù)和數(shù)據(jù)據(jù)庫的結(jié)合一般是沿用四種種發(fā)展途徑,第一種是建立單純的面向?qū)ο髷?shù)據(jù)庫管理系統(tǒng),這種途徑在面向?qū)ο蟮恼Z言的基礎(chǔ)上增加數(shù)據(jù)庫的功能,支持持久對(duì)象和信息共享。面向?qū)ο髷?shù)據(jù)庫能夠通過利用類來處理多媒體類型的數(shù)據(jù),還能夠利用繼承性的特點(diǎn)來實(shí)現(xiàn)對(duì)象結(jié)構(gòu)和方法的重用。面向?qū)ο蟮臄?shù)據(jù)庫與傳統(tǒng)的數(shù)據(jù)庫相比在開發(fā)速度和系統(tǒng)維護(hù)方面有很強(qiáng)的優(yōu)越性。第二種實(shí)現(xiàn)方法是將傳統(tǒng)的數(shù)據(jù)庫的功能進(jìn)行擴(kuò)展,增加數(shù)據(jù)庫面向?qū)ο蟮奶匦?。這種系統(tǒng)一方面具有很強(qiáng)的通用性,能夠支持被廣泛使用的SQL,另一方面能夠面向?qū)ο?,能夠支持較為復(fù)雜的對(duì)象的復(fù)雜行為,這兩方面的優(yōu)勢(shì)也就體現(xiàn)了數(shù)據(jù)庫和面向?qū)ο蠹夹g(shù)的最好的結(jié)合。第三種是擴(kuò)充關(guān)系數(shù)據(jù)庫系統(tǒng),這是一種在傳統(tǒng)的數(shù)據(jù)庫基礎(chǔ)上形成的,將數(shù)據(jù)庫的系統(tǒng)開放,允許由用戶定義的抽象的數(shù)據(jù)類型加入到系統(tǒng)中來。第四,數(shù)據(jù)庫系統(tǒng)工具包,這種方法的出發(fā)點(diǎn)是認(rèn)為沒有任何一種DBMS能夠滿足下一代應(yīng)用所有的需求,因此要通過提供工具包,使每個(gè)層次上的數(shù)據(jù)庫都能夠進(jìn)行擴(kuò)充,從而滿足不同的需求。對(duì)象技術(shù)和數(shù)據(jù)庫技術(shù)的結(jié)合的優(yōu)點(diǎn),吸引著全球的數(shù)據(jù)庫開發(fā)商競(jìng)相研究,如何實(shí)現(xiàn)二者的結(jié)合是競(jìng)爭(zhēng)的焦點(diǎn)。
6 面向?qū)ο蠹夹g(shù)和數(shù)據(jù)庫技術(shù)結(jié)合的進(jìn)展
現(xiàn)階段,我們通過對(duì)擴(kuò)充關(guān)系數(shù)據(jù)庫、支持持久對(duì)象的程序設(shè)計(jì)語言、面向?qū)ο蟮臄?shù)據(jù)庫系統(tǒng)、數(shù)據(jù)庫系統(tǒng)工具包,這四個(gè)方向進(jìn)行研究和開發(fā),已經(jīng)取得不少的成果,但是這4方面的發(fā)展是不平衡的,一些方向上獲得了主導(dǎo)性收獲,而另外一些收獲甚少甚至沒有了發(fā)展的必要,于此同時(shí)也有了新的發(fā)展方向。
6.1 擴(kuò)充性關(guān)系數(shù)據(jù)庫
這種方法是最占優(yōu)勢(shì),它能夠最全面的滿足社會(huì)對(duì)面向?qū)ο髷?shù)據(jù)庫的各項(xiàng)要求。
6.2 支持持久對(duì)象的程序語言
在這個(gè)方向上的研究也取得了一些具有重要意義的成果,從社會(huì)角度而且它仍然具有很強(qiáng)的開發(fā)的必要,但是從商業(yè)實(shí)踐的角度來看,它并不成功,它只能是一種純粹的程序設(shè)計(jì)語言。不過在這個(gè)方向上取得的成果對(duì)對(duì)象數(shù)據(jù)庫的研究和發(fā)展產(chǎn)生了積極的影響?,F(xiàn)在許多的導(dǎo)航式的程序設(shè)計(jì)的界面都受到了持久的程序設(shè)計(jì)語言的影響,并且持久數(shù)據(jù)的收集模式的研究成果可以直接應(yīng)用到面向?qū)ο蟮臄?shù)據(jù)庫的研究中去。
6.3 面向?qū)ο蟮臄?shù)據(jù)庫系統(tǒng)
在面向?qū)ο蟮臄?shù)據(jù)庫系統(tǒng)的研究方向的研究是十分活躍的,許多的專家學(xué)者都專注于這一方面的研究。Atkinson在1989年發(fā)表的“面向?qū)ο髷?shù)據(jù)庫系統(tǒng)宣言”,系統(tǒng)的陳述了面對(duì)對(duì)象數(shù)據(jù)庫的必備特性。經(jīng)過多年的研究和發(fā)展面向?qū)ο蟮臄?shù)據(jù)庫系統(tǒng)取得了許多的成就,其中包括基本對(duì)象模型、對(duì)復(fù)雜的對(duì)象支持、以及模式化演化等。一些新興的公司推出了OODB的產(chǎn)品。
6.4 數(shù)據(jù)庫系統(tǒng)工具包
這種方法的發(fā)展并不如預(yù)期的效果好,現(xiàn)在已經(jīng)很少人用了。這類工具包相對(duì)比較繁瑣,不能夠根據(jù)對(duì)象的具體特點(diǎn)進(jìn)行靈活的處理。并且,面向?qū)ο蟮臄?shù)據(jù)庫已經(jīng)具備了可擴(kuò)充性,不用在設(shè)計(jì)構(gòu)建一個(gè)數(shù)據(jù)管理設(shè)施了。
6.5 面向?qū)ο蟮目蛻舭b層
這是一種全新的將面向?qū)ο蠹夹g(shù)和數(shù)據(jù)庫結(jié)合在一起的方式,這種方法在關(guān)系數(shù)據(jù)庫的基礎(chǔ)之上加上一層對(duì)象包裝層,這樣在面向?qū)ο蟮目蛻舳司涂梢栽趥鹘y(tǒng)的數(shù)據(jù)庫基礎(chǔ)上運(yùn)行了。這些產(chǎn)品一般都會(huì)生成幾個(gè)類,這些類就能夠?qū)⒊绦騿T和底層的數(shù)據(jù)庫連接在一起。
7 面向?qū)ο髷?shù)據(jù)庫在人事工資系統(tǒng)的應(yīng)用
人事工資信息管理是人事部門最繁瑣的日常項(xiàng)目,它不僅僅涉及到員工的具體信息,還要查閱大量的工資政策和歷史條款和工資套改情況。我國(guó)的人事工資系統(tǒng)的開發(fā)和應(yīng)用時(shí)從20世紀(jì)80年代開始的,一共經(jīng)歷了三個(gè)階段。第一個(gè)階段是80年代末至90年代初,這一階段管理信息僅僅只能提供一些簡(jiǎn)單的查詢和打印,工資信息處理也僅僅局限于輸入員工的信息進(jìn)行查詢。第二個(gè)階段,是90年代中期這時(shí)我國(guó)的工資管理信息系統(tǒng)開始引入工資標(biāo)準(zhǔn)這一內(nèi)容,能夠提供簡(jiǎn)單的工資變動(dòng)功能,系統(tǒng)不能取代人工為用戶確定工資檔次。第三階段是,近幾年來我國(guó)逐漸構(gòu)建了一套認(rèn)識(shí)工資信息系統(tǒng),將人事部門從繁瑣的工資調(diào)整事務(wù)中擺脫出來。
要想在人事工資系統(tǒng)中應(yīng)用面向?qū)ο蟮臄?shù)據(jù)庫,就必須先要確定問題域和系統(tǒng)邊界,然后再識(shí)別對(duì)象的關(guān)聯(lián),添加對(duì)象類的關(guān)聯(lián)屬性,最后識(shí)別對(duì)象的方法來確定對(duì)象事件。人事工資信息的問題,首先要根據(jù)各種信息篩選出所有可能的對(duì)象,并對(duì)新進(jìn)員工進(jìn)行分類,通過關(guān)聯(lián)分析,確定幾個(gè)對(duì)象之間的相互依賴,相互作用的關(guān)系,發(fā)現(xiàn)邊緣情況。確定新進(jìn)員工的編號(hào)、姓名、學(xué)歷等信息屬性,職務(wù)級(jí)別異動(dòng)要確定人員、級(jí)別、異動(dòng)時(shí)間等屬性。利用適當(dāng)?shù)睦^承關(guān)系,把類組成一個(gè)有層次繼承性的系統(tǒng),每個(gè)類的上層都有父層,下邊有子層。對(duì)象模型建立后還要向數(shù)據(jù)庫的模型進(jìn)行映射,這是一個(gè)復(fù)雜的過程。面向?qū)ο蟮脑O(shè)計(jì)方法使數(shù)據(jù)庫變成了一個(gè)相互關(guān)聯(lián)的復(fù)雜對(duì)象的集合,通過面向?qū)ο蟮臄?shù)據(jù)庫可以模擬現(xiàn)實(shí)世界的實(shí)體關(guān)系,使這種模型自然而然的和現(xiàn)實(shí)世界產(chǎn)生了密切的聯(lián)系。這樣一方面大大減輕了人事部門的工作難度;另一方面,提高了數(shù)據(jù)的準(zhǔn)確度,如果程序內(nèi)大對(duì)象發(fā)生了變化后,它不會(huì)對(duì)程序的其他編碼產(chǎn)生影響。
8 結(jié)語
隨著計(jì)算機(jī)技術(shù)的不斷的發(fā)展,面向?qū)ο蠹夹g(shù)與數(shù)據(jù)庫技術(shù)結(jié)合在一起并得到了充分的發(fā)展。面向?qū)ο蟮臄?shù)據(jù)庫彌補(bǔ)了傳統(tǒng)數(shù)據(jù)庫的缺陷,把時(shí)間和對(duì)象的操作融合到數(shù)據(jù)庫中,能夠有效的記錄并對(duì)相關(guān)的數(shù)據(jù)進(jìn)行系統(tǒng)的處理和分析。
【參考文獻(xiàn)】
[1]秦秀媛.高速發(fā)展的面向?qū)ο髷?shù)據(jù)庫技術(shù)發(fā)展趨勢(shì)展望[J].計(jì)算機(jī)光盤軟件與應(yīng)用,2013,19(19):12-13.
[2]楊玉芬.對(duì)象管理在面向?qū)ο髷?shù)據(jù)庫中的應(yīng)用研究[J].吉林大學(xué)學(xué)報(bào):信息科學(xué)版,2013,31(5):24-25.
[3]馬瑞麗.面向?qū)ο蠹夹g(shù)在數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)中的應(yīng)用淺析[J].小作家選刊:教學(xué)交流,2013,16(7):15-16.
[責(zé)任編輯:湯靜]