碩士論文-基于關(guān)系數(shù)據(jù)庫(kù)的XML數(shù)據(jù)存儲(chǔ)技術(shù)的研究_第1頁(yè)
碩士論文-基于關(guān)系數(shù)據(jù)庫(kù)的XML數(shù)據(jù)存儲(chǔ)技術(shù)的研究_第2頁(yè)
碩士論文-基于關(guān)系數(shù)據(jù)庫(kù)的XML數(shù)據(jù)存儲(chǔ)技術(shù)的研究_第3頁(yè)
碩士論文-基于關(guān)系數(shù)據(jù)庫(kù)的XML數(shù)據(jù)存儲(chǔ)技術(shù)的研究_第4頁(yè)
碩士論文-基于關(guān)系數(shù)據(jù)庫(kù)的XML數(shù)據(jù)存儲(chǔ)技術(shù)的研究_第5頁(yè)
已閱讀5頁(yè),還剩62頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、北京工業(yè)大學(xué)碩士學(xué)位論文基于關(guān)系數(shù)據(jù)庫(kù)的XML數(shù)據(jù)存儲(chǔ)技術(shù)的研究姓名:呂云霞申請(qǐng)學(xué)位級(jí)別:碩士專(zhuān)業(yè):計(jì)算機(jī)應(yīng)用技術(shù)指導(dǎo)教師:朱青20210501,刪,訂舢,;獨(dú)創(chuàng)性聲明本人聲明所呈交的論文是我個(gè)人在導(dǎo)師指導(dǎo)下進(jìn)行的研究工作及取得的研究成果。盡我所知,除了文中特別加以標(biāo)注和致謝的地方外,論文中不包含其他人已經(jīng)發(fā)表或撰寫(xiě)過(guò)的研究成果,也不包含為獲得北京工業(yè)大學(xué)或其它教育機(jī)構(gòu)的學(xué)位或證書(shū)而使用過(guò)的材料。與我一同工作的同志對(duì)本研究所做的任何奉獻(xiàn)均已在論文中作了明確的說(shuō)明并表示了謝意。簽名:曼亟!萑日期:墨:互關(guān)于論文使用授權(quán)的說(shuō)明本人完全了解北京工業(yè)大學(xué)有關(guān)保存、使用學(xué)位論文的規(guī)定,即:學(xué)校有權(quán)保存送

2、交論文的復(fù)印件,允許論文被查閱和借閱;學(xué)??梢怨颊撐牡娜炕虿糠謨?nèi)容,可以采用影印、縮印或其他復(fù)制手段保存論文。保密的論文在解密后應(yīng)遵守此規(guī)定簽名:量垂!趁導(dǎo)師簽名:牛黿第章緒論研究背景第章緒論近年來(lái),互聯(lián)網(wǎng)得到了迅猛開(kāi)展,它提供了全球范圍的網(wǎng)絡(luò)互聯(lián)與通信功能,其豐富的信息資源給人們的學(xué)習(xí)和生活帶來(lái)了極大的便利。作為互聯(lián)網(wǎng)最主要應(yīng)用的實(shí)際上已成為最大的信息資源庫(kù)。電子商務(wù)、電子出版、遠(yuǎn)程教育等基于的新興領(lǐng)域的全面興起使得傳統(tǒng)的資源更加復(fù)雜化和多樣化。人們對(duì)效勞功能的需求也到達(dá)更高的標(biāo)準(zhǔn),如用戶(hù)需要對(duì)進(jìn)行智能化的語(yǔ)義搜索和對(duì)數(shù)據(jù)按照不同的需求進(jìn)行多樣化顯示等個(gè)性化效勞;公司和企業(yè)要為客戶(hù)創(chuàng)立和

3、分發(fā)大量有價(jià)值的文檔信息,以及對(duì)不同平臺(tái)、不同格式的數(shù)據(jù)源進(jìn)行有效的數(shù)據(jù)交換和集成等等。在這種大環(huán)境下,以簡(jiǎn)單易學(xué)、靈活通用著稱(chēng)的,隨著網(wǎng)絡(luò)應(yīng)用的日益廣泛,局限性逐漸明顯,越來(lái)越不能適應(yīng)作為上信息交換和表示的工具了。作為的一個(gè)優(yōu)化子集,它不像那樣事先定義好一組標(biāo)簽,而是提供了一個(gè)標(biāo)準(zhǔn),只要遵循這個(gè)標(biāo)準(zhǔn),你可以靈活的定義自己的標(biāo)記。不僅能夠存儲(chǔ)數(shù)據(jù),而且能夠存儲(chǔ)結(jié)構(gòu)和語(yǔ)義信息,具有通用的數(shù)據(jù)表示能力,能表示結(jié)構(gòu)化、半結(jié)構(gòu)化及元結(jié)構(gòu)化數(shù)據(jù),可以描述不同種類(lèi)應(yīng)用軟件中的數(shù)據(jù),這使其在數(shù)據(jù)交互和信息共享方面擁有天然的優(yōu)勢(shì),成為上數(shù)據(jù)表示與交換的通用標(biāo)準(zhǔn)。與相比主要有以下幾點(diǎn)優(yōu)勢(shì):簡(jiǎn)單,具有自我描述能力

4、。通過(guò)語(yǔ)義標(biāo)記來(lái)說(shuō)明數(shù)據(jù)的語(yǔ)義,容易理解且易于解析。這使得具有機(jī)器可讀性,具體應(yīng)用可以按照各種方式解析、過(guò)濾及重構(gòu)文檔。具有靈活性。的標(biāo)記是預(yù)定義的,具有固定的名稱(chēng)及語(yǔ)義,不能擴(kuò)展,而的標(biāo)記可由用戶(hù)定義,可以被任意的擴(kuò)展。的嵌套結(jié)構(gòu)可以表示各種復(fù)雜的數(shù)據(jù)結(jié)構(gòu),各種格式的數(shù)據(jù)都可以較容易的轉(zhuǎn)換為數(shù)據(jù),這使得非常適合于信息的發(fā)布和集成。具有平臺(tái)獨(dú)立性。可用于不同類(lèi)型、系統(tǒng)間的交換格式的傳送,從而簡(jiǎn)化了從一個(gè)應(yīng)用程序到另一個(gè)應(yīng)用程序之間傳遞信息的工作。實(shí)現(xiàn)了結(jié)構(gòu)、內(nèi)容和顯示相別離。文檔類(lèi)型定義或模式描述了文檔的結(jié)構(gòu),即元素間的嵌套關(guān)系。文檔實(shí)例只描述數(shù)據(jù),使得數(shù)據(jù)具有獨(dú)立性,而文檔的顯示具有多樣性,

5、北京工業(yè)大學(xué)丁學(xué)碩士學(xué)位論文文檔的顯示是由文檔配合來(lái)完成的,對(duì)同一個(gè)文檔可以根據(jù)應(yīng)用的需要以不同的風(fēng)格顯示。由于的諸多優(yōu)勢(shì),出現(xiàn)大量的數(shù)據(jù),并且保持著快速增長(zhǎng),使得對(duì)有效存儲(chǔ)和操作方面的研究日益受到重視。同時(shí)由于關(guān)系數(shù)據(jù)庫(kù)技術(shù)的大力開(kāi)展、成熟的技術(shù)和廣泛的應(yīng)用,使得文檔的關(guān)系化存儲(chǔ)成為研究的一大熱點(diǎn)。本文所研究的就是基于的文檔的關(guān)系化存儲(chǔ)技術(shù),提出了一種映射的設(shè)計(jì)方案,并基于該方案實(shí)現(xiàn)了一個(gè)原型系統(tǒng)來(lái)驗(yàn)證映射技術(shù)的可行性。研究現(xiàn)狀與意義目前,組織制定的系列標(biāo)準(zhǔn)已成為新一代的標(biāo)準(zhǔn),的使用已經(jīng)普及到應(yīng)用的各個(gè)方面,隨著大量數(shù)據(jù)的出現(xiàn),對(duì)有效存儲(chǔ)和操作方面的研究也越來(lái)越受到人們的重視。微軟、等計(jì)算機(jī)

6、業(yè)的巨頭都對(duì)它的前景看好,大批的數(shù)據(jù)庫(kù)研究者們也對(duì)技術(shù)展開(kāi)了深入的研究,國(guó)外的許多大學(xué)、研究機(jī)構(gòu)和各種基金都已經(jīng)或正在開(kāi)展數(shù)據(jù)處理技術(shù)的研究。數(shù)據(jù)管理技術(shù)作為技術(shù)研究熱點(diǎn)從某種意義上也說(shuō)明了有許多問(wèn)題尚未解決。正因?yàn)檫@樣,說(shuō)明數(shù)據(jù)管理相關(guān)的各種技術(shù)都有待開(kāi)展。目前,在數(shù)據(jù)管理方面需解決的前沿問(wèn)題主要有:數(shù)據(jù)的存儲(chǔ)。的數(shù)據(jù)存儲(chǔ)是處理數(shù)據(jù)的首要問(wèn)題。的主要存儲(chǔ)方式為文件系統(tǒng)【】,關(guān)系數(shù)據(jù)庫(kù),面向?qū)ο髷?shù)據(jù)庫(kù)【】和半結(jié)構(gòu)化數(shù)據(jù)倉(cāng)庫(kù)【】等。數(shù)據(jù)的查詢(xún)。數(shù)據(jù)的查詢(xún)方法取決于的存儲(chǔ)方式。當(dāng)前,針對(duì)查詢(xún)處理的研究主要有兩種思路:一是將基于關(guān)系或?qū)ο髷?shù)據(jù)庫(kù)來(lái)研究文檔的查詢(xún)處理,這種方法的數(shù)據(jù)查詢(xún)要依據(jù)不同的表存

7、儲(chǔ)結(jié)構(gòu)采用不同的方法,最后還要將查詢(xún)結(jié)果以格式顯示:二是將看作文檔,基于內(nèi)容來(lái)研究的查詢(xún)處理及優(yōu)化,其中關(guān)鍵工作包括索引的設(shè)計(jì)、查詢(xún)處理的邏輯及物理優(yōu)化等。視圖。在環(huán)境下,視圖顯得比傳統(tǒng)數(shù)據(jù)庫(kù)中的視圖更加重要。面向電子商務(wù)應(yīng)用,需要建立的主動(dòng)視圖。索引。索引作用至關(guān)重要,數(shù)據(jù)是樹(shù)結(jié)構(gòu),單純的值索引遠(yuǎn)不夠用,需要新的索引類(lèi)型。在這方面作了許多研究【,這里參考,列舉出主要的一些索引技術(shù)。值索引:可以根據(jù)元素名或?qū)傩悦椭瞪系闹^詞條第章緒論件找到滿(mǎn)足條件的元素或?qū)傩?。父子索引:可以根?jù)元素名找到所有由該元素名連接的父子元素對(duì)。路徑索引:可以根據(jù)路徑找到所有該路徑可以到達(dá)的元素。在數(shù)據(jù)管理的諸多研究熱

8、點(diǎn)中,數(shù)據(jù)存儲(chǔ)是數(shù)據(jù)處理其他問(wèn)題研究的根底,因此顯得尤為重要。幾大關(guān)系數(shù)據(jù)庫(kù)廠(chǎng)商在這方面的研究已經(jīng)取得了一些進(jìn)展:當(dāng)前對(duì)的存儲(chǔ)支持得較好的關(guān)系數(shù)據(jù)庫(kù)主要有,和,并不斷有新產(chǎn)品問(wèn)世。例如,微軟公司的提供一種新的數(shù)據(jù)類(lèi)型,使在數(shù)據(jù)庫(kù)中存儲(chǔ)片段或文件成為可能。年夏大,發(fā)布了代號(hào)為“毒蛇的,它支持純文檔,通過(guò)層次型與關(guān)系型的混合管理模式,對(duì)結(jié)構(gòu)化數(shù)據(jù)與異構(gòu)數(shù)據(jù)進(jìn)行統(tǒng)一管理?;蛟S是應(yīng)對(duì)“毒蛇出洞,還未正式發(fā)布的中參加了對(duì)于二進(jìn)制的文件存儲(chǔ),以提高數(shù)據(jù)庫(kù)提取文件的速度。包括甲骨文、微軟在內(nèi)的數(shù)據(jù)庫(kù)廠(chǎng)商都在走從傳統(tǒng)關(guān)系數(shù)據(jù)庫(kù)中支持的路線(xiàn)【,并且在其成熟的關(guān)系數(shù)據(jù)庫(kù)產(chǎn)品中提供了對(duì)的支持。但提供的數(shù)據(jù)庫(kù)產(chǎn)品對(duì)的

9、支持往往不是內(nèi)置的支持,而是通過(guò)提供兩種根本的數(shù)據(jù)庫(kù)設(shè)計(jì)選項(xiàng),將每個(gè)文檔完整地存儲(chǔ)為一個(gè)大型對(duì)象。在多數(shù)情況下,把數(shù)據(jù)重新格式化或置于大的對(duì)象中,然后作為關(guān)系數(shù)據(jù)存儲(chǔ),可能會(huì)導(dǎo)致性能問(wèn)題、管理困難、查詢(xún)的復(fù)雜性增加以及其他一些問(wèn)題。雖然當(dāng)前流行的大型數(shù)據(jù)庫(kù)都提供了的存儲(chǔ)策略,但最大的缺陷在于其解決方案和具體關(guān)系數(shù)據(jù)庫(kù)平臺(tái)相關(guān),只能在本數(shù)據(jù)庫(kù)中實(shí)現(xiàn)存儲(chǔ),不同數(shù)據(jù)庫(kù)廠(chǎng)商提供的解決方案無(wú)法運(yùn)用到其它廠(chǎng)商的平臺(tái)上,不太適用于集成了多種操作系統(tǒng)和關(guān)系數(shù)據(jù)庫(kù)平臺(tái)的應(yīng)用領(lǐng)域,不具有通用性。一因此,雖然數(shù)據(jù)管理的研究工作已經(jīng)獲得了不同程度的進(jìn)展,但是文檔的關(guān)系數(shù)據(jù)庫(kù)存儲(chǔ)還存在一系列困難,仍有待于近一步研究、創(chuàng)

10、新。本論文主要研究?jī)?nèi)容本文主要對(duì)數(shù)據(jù)存儲(chǔ)技術(shù)進(jìn)行研究。通過(guò)查閱大量文獻(xiàn),在深入了解數(shù)據(jù)存儲(chǔ)技術(shù)目前研究現(xiàn)狀的根底上,對(duì)基于關(guān)系數(shù)據(jù)庫(kù)的數(shù)據(jù)管理技術(shù)進(jìn)行了較為深入的探討。首先簡(jiǎn)要介紹了的相關(guān)技術(shù),包括的特點(diǎn)和應(yīng)用分析、文檔有效性驗(yàn)證語(yǔ)言和、以及解析技術(shù)。其次對(duì)關(guān)系數(shù)據(jù)庫(kù)存儲(chǔ)方法作了詳細(xì)地介紹,指出了各個(gè)方法的優(yōu)缺點(diǎn)。由于關(guān)系數(shù)據(jù)庫(kù)的廣泛使用,以及關(guān)系數(shù)據(jù)庫(kù)成熟的事物和并發(fā)控制機(jī)制。本文接下來(lái)對(duì)基于關(guān)系數(shù)據(jù)的文檔映射技術(shù)進(jìn)行了深入的研究和總結(jié),發(fā)現(xiàn)目前的映射技術(shù)大北京工業(yè)大學(xué)工學(xué)碩十學(xué)位論文多是基于模型的和基于的映射,而基于的映射技術(shù)較少,并且在映射過(guò)程中,缺乏語(yǔ)義一致性驗(yàn)證。本文提出一種基于的關(guān)

11、系數(shù)據(jù)庫(kù)映射模式,該方法具有如下特征:將轉(zhuǎn)化為語(yǔ)義圖;根據(jù)中不同的組件采用不同的轉(zhuǎn)化方法,在轉(zhuǎn)化的過(guò)程中,簡(jiǎn)化語(yǔ)義圖,并且在轉(zhuǎn)化的過(guò)程中充分的考慮了語(yǔ)義一致性的轉(zhuǎn)化;將轉(zhuǎn)化到關(guān)系模式時(shí),映射到兩類(lèi)表,分別是元數(shù)據(jù)表和數(shù)據(jù)表,元數(shù)據(jù)表用來(lái)存儲(chǔ)文檔的結(jié)構(gòu),包括層次和順序,而數(shù)據(jù)表是用來(lái)存儲(chǔ)文檔中的數(shù)據(jù);從文檔中抽出數(shù)據(jù),存儲(chǔ)到映射好的關(guān)系模式中;對(duì)基于上面的映射方法,簡(jiǎn)要地介紹了從關(guān)系數(shù)據(jù)庫(kù)逆向轉(zhuǎn)化為文檔的方法;最后基于本文提出的映射理論,設(shè)計(jì)了一個(gè)原型系統(tǒng)來(lái)驗(yàn)證我們所提出的理論。論文組織結(jié)構(gòu)本文共分六章,文章的結(jié)構(gòu)安排如下:第一章緒論,主要介紹了論文的研究背景,以及數(shù)據(jù)管理技術(shù)的研究現(xiàn)狀和意義。

12、第二章及數(shù)據(jù)存儲(chǔ)技術(shù)的研究分析,簡(jiǎn)單介紹了的特點(diǎn)、模式語(yǔ)言和解析技術(shù),這是實(shí)現(xiàn)數(shù)據(jù)管理的根底;簡(jiǎn)單描述了文檔的存儲(chǔ)方式,并對(duì)各種存儲(chǔ)方式的優(yōu)缺點(diǎn)進(jìn)行分析比擬;接著,詳細(xì)介紹了文檔到關(guān)系數(shù)據(jù)庫(kù)的映射技術(shù),并進(jìn)行了比擬。第三章是本人的主要研究問(wèn)題之一,提出了中各組件的轉(zhuǎn)化方法,以及如何保持語(yǔ)義一致性。第四章是本人的主要工作成果,在總結(jié)分析前幾章的根底上,研究了將映射為關(guān)系模式,并抽取文檔中的數(shù)據(jù)存儲(chǔ)到該關(guān)系模式中,最后簡(jiǎn)單介紹了如何重構(gòu)文檔。第五章原型系統(tǒng)的的設(shè)計(jì)和實(shí)現(xiàn)。介紹了系統(tǒng)的架構(gòu)和功能,詳細(xì)介紹了每個(gè)功能模塊。該原型系統(tǒng)是在前幾章理論研究根底上開(kāi)發(fā)的,同時(shí)也是對(duì)這些理論技術(shù)可行性的有效驗(yàn)證

13、。最后一章是對(duì)本文工作的總結(jié)和展望。第章相關(guān)技術(shù)的分析及問(wèn)題的提出第章相關(guān)技術(shù)的分析及問(wèn)題的提出對(duì)于數(shù)據(jù)存儲(chǔ)技術(shù)的研究,首先要對(duì)的相關(guān)技術(shù)有深入的了解,相關(guān)技術(shù)包括制定的一系列核心標(biāo)準(zhǔn),作為我們一切研究的理論根底,在本章中我們將簡(jiǎn)要介紹涉及到的相關(guān)技術(shù);其次要對(duì)的存儲(chǔ)技術(shù)有深入的了解,本章的后兩節(jié)對(duì)現(xiàn)有的存儲(chǔ)技術(shù)進(jìn)行概述,并對(duì)其進(jìn)行了分析比擬。技術(shù)及應(yīng)用特點(diǎn),可擴(kuò)展標(biāo)記語(yǔ)言是由】于年月發(fā)布的一種標(biāo)準(zhǔn),是的一個(gè)簡(jiǎn)化集。它繼承了的強(qiáng)大功能,去除了繁瑣的定義,彌補(bǔ)了作為網(wǎng)絡(luò)標(biāo)準(zhǔn)語(yǔ)言的缺乏。它將的豐富功能和的易用性結(jié)合到了萬(wàn)維網(wǎng)的應(yīng)用中,深受軟件開(kāi)發(fā)商的支持和程序開(kāi)發(fā)人員的厚愛(ài)。目前在很多方面都有應(yīng)用

14、,具有如下特點(diǎn):的特點(diǎn)作為一種標(biāo)記語(yǔ)言,具有嚴(yán)格、標(biāo)準(zhǔn)的語(yǔ)法,創(chuàng)立文檔必須滿(mǎn)足一定的標(biāo)準(zhǔn),依據(jù)規(guī)格,所有的文檔都必須是格式良好的,一個(gè)格式正確的文檔必須符合以下幾點(diǎn)要求:聲明語(yǔ)句。聲明必須以小寫(xiě)聲明,并設(shè)置屬性,必須出現(xiàn)在第一行,其格式如下:?一?,聲明的作用是告訴瀏覽器或者其它處理程序:這個(gè)文檔是文檔。聲明語(yǔ)句中的表示文檔遵守的標(biāo)準(zhǔn)的版本;表示文檔是否附帶文件,如果有,參數(shù)為;表示文檔所用的語(yǔ)言編碼,默認(rèn)是。元素。元素組成了文檔中的大局部?jī)?nèi)容,文檔有且只有一個(gè)根元素,所有元素構(gòu)成一個(gè)層次樹(shù),元素之間必須正確嵌套。元素由一對(duì)標(biāo)記組成,結(jié)束標(biāo)記匹配相應(yīng)的起始標(biāo)記。格式為:標(biāo)記名內(nèi)容叫標(biāo)記名。屬性

15、。元素可以用屬性來(lái)注釋?zhuān)瑢傩酝ǔS脕?lái)給元素提供所顯示內(nèi)容的額外信息,出現(xiàn)位置為元素的起始標(biāo)記中,對(duì)于一個(gè)元素來(lái)說(shuō),不能存在多個(gè)相同名稱(chēng)的屬性,元素大小寫(xiě)敏感。格式為:屬性名屬性值。處理指令。處理指令通常用來(lái)為處理文檔的應(yīng)用程序提供信息,這些信息包括如何處理文檔,如何顯示文檔等。處理指令的出現(xiàn)位置可以為元素北京工業(yè)大學(xué)工學(xué)碩士學(xué)位論文的后裔,也可以為根元素的前面或者后面。格式為:?。注釋。注釋出現(xiàn)位置可以為元素的后裔,也可以為根元素的前面或者后面。格式為:!一注釋內(nèi)容。命名空間。允許設(shè)計(jì)者定義自己的標(biāo)記名,命名空間的出現(xiàn)解決了重名的情況。格式為:。圖給圖一個(gè)良構(gòu)的文檔一的應(yīng)用分析作為互聯(lián)網(wǎng)的新技

16、術(shù),的應(yīng)用非常廣泛,滲透到了互聯(lián)網(wǎng)的各個(gè)角落。借用公司的報(bào)告中的一句話(huà):“商業(yè)公司不能再做局外人了,不能對(duì)置之不理??梢?jiàn),的重要性,以下是的主要應(yīng)用場(chǎng)合【:數(shù)據(jù)交換。電子商務(wù)通過(guò)互聯(lián)網(wǎng)傳輸和交換商務(wù)數(shù)據(jù),并對(duì)商務(wù)數(shù)據(jù)進(jìn)行人工或自動(dòng)處理,這也是的主要應(yīng)用領(lǐng)域之一。的可擴(kuò)展性和自相容性等特點(diǎn),使之成為數(shù)據(jù)交換的有力工具。內(nèi)容管理。只用元素和屬性來(lái)描述數(shù)據(jù),而不提供數(shù)據(jù)的顯示方法,它提供了一個(gè)獨(dú)立于平臺(tái)和語(yǔ)言的內(nèi)容,使用象這樣的語(yǔ)言能夠輕易地將文件轉(zhuǎn)換成各種格式文件,比方,等等。集成。現(xiàn)在有越來(lái)越多的設(shè)備也支持了,為了利用互聯(lián)網(wǎng)技術(shù)和標(biāo)準(zhǔn)為移動(dòng)設(shè)備連接互聯(lián)網(wǎng)建立全球性的同一標(biāo)準(zhǔn),聯(lián)合了等通訊公司建立

17、了論壇,推出了標(biāo)準(zhǔn),同時(shí)也定義了基于的手持設(shè)備置標(biāo)語(yǔ)言。配置管理。許多應(yīng)用都將配制數(shù)據(jù)存儲(chǔ)在各種文件里,將配制數(shù)據(jù)標(biāo)記為格式,能使其更具可讀性,并能方便地集成到應(yīng)用系統(tǒng)中去。使用第章相關(guān)技術(shù)的分析及問(wèn)題的提配制文件的應(yīng)用程序能夠方便地處理所需數(shù)據(jù),不用象其他應(yīng)用那樣要經(jīng)過(guò)重新編譯才能修改和維護(hù)應(yīng)用系統(tǒng)。模式語(yǔ)言模式語(yǔ)言負(fù)責(zé)定義和描述文檔的結(jié)構(gòu)和內(nèi)容模式。它可以定義文檔中存在哪些元素和元素之間的關(guān)系,并且可以定義元素和屬性的數(shù)據(jù)類(lèi)型。模式語(yǔ)言主要有兩種:和,現(xiàn)分別介紹如下:是文檔類(lèi)型定義的簡(jiǎn)稱(chēng)。它是一套關(guān)于標(biāo)記的語(yǔ)法規(guī)那么,詳細(xì)描述一組文檔的結(jié)構(gòu)。列出了可用在文檔中的元素、屬性、實(shí)體和符號(hào)表示法

18、,說(shuō)明在文檔中可以使用哪些標(biāo)一記,哪些標(biāo)記可以出現(xiàn)在其它標(biāo)記中,哪些標(biāo)記具有屬性,使用的標(biāo)記應(yīng)按什么順序出現(xiàn)等。例如,圖是一個(gè)的例子,圖中的文檔就是符合這個(gè)的描述的:!,!嘏!伊圖一個(gè)的實(shí)例也在文檔中,可以利用操作符幸次或?qū)掖?、至少次、?次或次、或選來(lái)定義子元素的出現(xiàn)次數(shù)。其中表示元素,表示屬性,表示數(shù)據(jù),假設(shè)所有取值都只能是字符串值。文檔中的使用方法分兩種:內(nèi)部,即在文檔的序言部分中直接參加的描述;外部,即可作為一個(gè)完全獨(dú)立的文件,將存儲(chǔ)在一個(gè)后綴為的文件中,在文件中調(diào)用它。可以看出,內(nèi)部相當(dāng)繁瑣,通用性低,而同一個(gè)外部文件,可以被多個(gè)文檔引用;外部文件的可移植性很好,當(dāng)需要修改的時(shí)候,只修

19、改外部文件,而不需逐一修改使用了該的所有文檔。使用了的文檔必須符合該模板的要求,在分析階段必須通過(guò)的有效性驗(yàn)證。隨著技術(shù)的廣泛使用,逐漸暴露了自身存在的缺乏:是基于正那么表達(dá)式的,描述能力有限;沒(méi)有數(shù)據(jù)類(lèi)型的支持,在大多數(shù)應(yīng)用環(huán)境下能力缺乏;的約束定義能力缺乏,無(wú)法對(duì)實(shí)例文檔做出更細(xì)致的語(yǔ)義限制:北京工業(yè)大學(xué)工學(xué)碩士學(xué)位論文的結(jié)構(gòu)不夠結(jié)構(gòu)化,重用的代價(jià)相對(duì)較高;并非使用作為描述手段,而的構(gòu)建和訪(fǎng)問(wèn)并沒(méi)有標(biāo)準(zhǔn)的編程接口,無(wú)法使用標(biāo)準(zhǔn)的編程方式進(jìn)行維護(hù)。同一樣,也是一種文檔模式定義語(yǔ)言。但與不同的是,克服了的幾個(gè)局限,與相比,有如下幾個(gè)優(yōu)點(diǎn):使用標(biāo)準(zhǔn)語(yǔ)法,本身就是一個(gè)文檔,可以直接用成熟的文檔解析

20、器讀?。惶峁┝素S富的數(shù)據(jù)類(lèi)型,包括數(shù)字型、布爾型、日期型等等,并且可以定義新的數(shù)據(jù)類(lèi)型,允許對(duì)數(shù)據(jù)進(jìn)行更嚴(yán)格的合法性檢查;支持繼承性,即可利用一個(gè)已有的產(chǎn)生一個(gè)新的;支持命名空間,保證了標(biāo)記的唯一性;的擴(kuò)展性好,它的內(nèi)容模型是開(kāi)放的,可以隨意擴(kuò)充、更新等。下面是一個(gè)的例子,一般,這樣的模式文件保存在一個(gè)后綴為的文件中,與圖中是等價(jià)模式,同樣可以描述圖的文檔。解析技術(shù)圖一個(gè)舭的實(shí)例也第章相關(guān)技術(shù)的分析及問(wèn)題的提文檔實(shí)際上就是純文本數(shù)據(jù),使用數(shù)據(jù)格式的應(yīng)用程序首先必須能對(duì)數(shù)據(jù)進(jìn)行讀取、分析,進(jìn)而進(jìn)行處理。與是兩種常用的應(yīng)用程序接口標(biāo)準(zhǔn)。它們?cè)趹?yīng)用程序開(kāi)發(fā)過(guò)程的作用如以下圖:圖和應(yīng)用體系下面分別給予

21、詳細(xì)的介紹。即簡(jiǎn)單編程接口,第一個(gè)被廣泛采用的用編寫(xiě)的,是一個(gè)事實(shí)上的標(biāo)準(zhǔn)【。是一個(gè)通用的,基于事件的解析的標(biāo)準(zhǔn)編程接口。是事件驅(qū)動(dòng)的“推模型,是一種基于回調(diào)機(jī)制的程序運(yùn)行方法,即它不需要一次讀入整個(gè)文檔,是邊讀文檔邊對(duì)文檔進(jìn)行解析,文檔的讀入過(guò)程就是的解析過(guò)程。從這一點(diǎn)來(lái)說(shuō),是一種輕量型的解析方法?,撐膿酰ざD解析模型即文檔對(duì)象模型,個(gè)來(lái)自的成熟標(biāo)準(zhǔn)【】。將文檔看作是一個(gè)分層的對(duì)象模型,是一棵節(jié)點(diǎn)樹(shù),稱(chēng)為樹(shù)。在樹(shù)中,有一個(gè)根節(jié)點(diǎn),即根元素,其它節(jié)點(diǎn)都是這個(gè)根節(jié)點(diǎn)的后代節(jié)點(diǎn),節(jié)點(diǎn)用來(lái)表示文檔中的元素,屬性、文本、注釋、處理指令以及類(lèi)似的信息。是文檔驅(qū)動(dòng)的,即它一次把整個(gè)文檔讀入內(nèi)存,然后向應(yīng)用

22、程北京工業(yè)大學(xué)工學(xué)碩士學(xué)位論文序提供對(duì)整個(gè)文檔可操作的樹(shù),可以通過(guò)這棵樹(shù)來(lái)訪(fǎng)問(wèn)所需信息。解析器需要一次把文檔讀入內(nèi)存,從這一點(diǎn)來(lái)講它是一種重量型的解析方法。一圖解析模型的樹(shù)型結(jié)構(gòu)與比擬和是兩類(lèi)不同的文檔解析方法,兩種技術(shù)各有利弊。主要區(qū)別在于:,應(yīng)用程序的目的:如果必須對(duì)數(shù)據(jù)進(jìn)行更改,并且作為將它輸出,那么在大多數(shù)情況下,使用。與使用轉(zhuǎn)換來(lái)完成的簡(jiǎn)單結(jié)構(gòu)更改不一樣,如果是對(duì)數(shù)據(jù)本身進(jìn)行更改,那么尤其應(yīng)該使用。數(shù)據(jù)的數(shù)量:對(duì)于大文件,是更好的選擇。將如何使用數(shù)據(jù):如果實(shí)際上只使用一小局部數(shù)據(jù),那么使用將數(shù)據(jù)抽取到應(yīng)用程序中,這種方法更好些。另一方面,如果知道將需要向后引用已經(jīng)處理過(guò)的信息,那么可

23、能不是正確的選擇。需要速度:通常實(shí)現(xiàn)比實(shí)現(xiàn)快。值得說(shuō)明的是,和并不是互斥的,這一點(diǎn)很重要??梢允褂脕?lái)創(chuàng)立事件的流,可以使用來(lái)創(chuàng)立樹(shù)。事實(shí)上,大多數(shù)解析器常常使用來(lái)創(chuàng)立樹(shù)。第章相關(guān)技術(shù)的分析及問(wèn)題的提出文檔存儲(chǔ)方式在處理數(shù)據(jù)時(shí),首要的問(wèn)題就是存儲(chǔ),對(duì)數(shù)據(jù)的各種處理,查詢(xún)、檢索、更新都是建立在一定的存儲(chǔ)模式根底上的。當(dāng)前,數(shù)據(jù)的根本存儲(chǔ)方式可分為三類(lèi):文件系統(tǒng)、支持的數(shù)據(jù)庫(kù)和純數(shù)據(jù)庫(kù)【?,F(xiàn)有的存儲(chǔ)方式簡(jiǎn)介文件系統(tǒng)的存儲(chǔ)方式使用文件系統(tǒng)來(lái)存儲(chǔ)就是把直接存儲(chǔ)為文本文件,訪(fǎng)問(wèn)時(shí)首先通過(guò)文件系統(tǒng)的目錄結(jié)構(gòu),然后通過(guò)文檔的元素結(jié)構(gòu)來(lái)提供對(duì)數(shù)據(jù)的層次訪(fǎng)問(wèn)?;谖募南到y(tǒng)簡(jiǎn)單而容易實(shí)現(xiàn),無(wú)需使用底層的數(shù)據(jù)庫(kù)或?qū)?/p>

24、象存儲(chǔ)管理。同時(shí)由于文檔被直接存儲(chǔ)為文本文件,文件存儲(chǔ)方式無(wú)需存儲(chǔ)轉(zhuǎn)換和重構(gòu)查詢(xún)結(jié)果。支持的數(shù)據(jù)庫(kù)存儲(chǔ)方式支持的數(shù)據(jù)庫(kù)是傳統(tǒng)的關(guān)系和面向?qū)ο髷?shù)據(jù)庫(kù)的擴(kuò)展,根據(jù)數(shù)據(jù)庫(kù)管理系統(tǒng)的不同,又可以分為:基于關(guān)系數(shù)據(jù)庫(kù)的存儲(chǔ)、基于對(duì)象數(shù)據(jù)庫(kù)的存儲(chǔ)以及基于對(duì)象一關(guān)系數(shù)據(jù)庫(kù)的存儲(chǔ)。由于關(guān)系數(shù)據(jù)庫(kù)技術(shù)成熟,并且應(yīng)用極為廣泛,我們著重研究基于關(guān)系數(shù)據(jù)庫(kù)的存儲(chǔ)。將存儲(chǔ)到關(guān)系數(shù)據(jù)庫(kù)中就是利用文檔模式信息設(shè)計(jì)關(guān)系表結(jié)構(gòu),然后解析文檔,結(jié)合模式信息,將的內(nèi)容分別存儲(chǔ)到對(duì)應(yīng)的關(guān)系表中。利用關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)來(lái)處理數(shù)據(jù)的方式具有如下的優(yōu)點(diǎn):一方面,當(dāng)前的關(guān)系數(shù)據(jù)庫(kù)的技術(shù)十分成熟,商用關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)都具有高性能的查詢(xún)引擎,良好的可

25、擴(kuò)展性、平安性和健壯性,因此,利用關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)管理數(shù)據(jù)可以重用數(shù)據(jù)庫(kù)的查詢(xún)優(yōu)化器和事務(wù)處理機(jī)制,能夠保證數(shù)據(jù)的一致性和完整性:另一方面,目前大量的數(shù)據(jù)主要存放在關(guān)系數(shù)據(jù)庫(kù)中,采用關(guān)系系統(tǒng)便于在關(guān)系數(shù)據(jù)庫(kù)上建立適于二者的應(yīng)用,使關(guān)系數(shù)據(jù)庫(kù)進(jìn)入領(lǐng)域成為可能。目前,主要的關(guān)系數(shù)據(jù)庫(kù)廠(chǎng)商都提供了對(duì)的支持,開(kāi)發(fā)出了大量的在文檔和數(shù)據(jù)庫(kù)之間進(jìn)行數(shù)據(jù)轉(zhuǎn)換的工具,如,等。捆綁于,能夠?qū)年P(guān)系表或視圖中恢復(fù)的數(shù)據(jù)轉(zhuǎn)換為。提供了將內(nèi)容映射為關(guān)系表的工具,但是,對(duì)于復(fù)雜結(jié)構(gòu)的數(shù)據(jù),必須為了映射而進(jìn)行重構(gòu)。捆綁于,使得開(kāi)發(fā)者可以將文檔映射為關(guān)系表,為現(xiàn)存的關(guān)系映射創(chuàng)立視圖,用北京工業(yè)大學(xué)工學(xué)碩士學(xué)位論文查詢(xún)關(guān)系數(shù)據(jù)

26、,為查詢(xún)生成結(jié)果。純數(shù)據(jù)庫(kù)的存儲(chǔ)方式純數(shù)據(jù)庫(kù)這個(gè)術(shù)語(yǔ)首先出現(xiàn)在為所做的營(yíng)銷(xiāo)宣傳中。目前尚沒(méi)有關(guān)于數(shù)據(jù)庫(kù)的一致公認(rèn)的定義,下面是一個(gè)較為普遍接受的論述取自“:為文檔而不是文檔中的數(shù)據(jù)定義了一個(gè)邏輯模型,并根據(jù)該模型存取文件。這個(gè)模型至少應(yīng)包括元素、屬性、和文件順序。這種模型的例子有數(shù)據(jù)模型、以及所用的模型和的事件。以文檔作為其根本邏輯存儲(chǔ)單位,正如關(guān)系數(shù)據(jù)庫(kù)以表中的行作為根本邏輯存儲(chǔ)單位。數(shù)據(jù)庫(kù)對(duì)底層的物理存儲(chǔ)模型沒(méi)有特殊要求,即它不一定必須建立在關(guān)系、層次或面向?qū)ο蟮臄?shù)據(jù)庫(kù)上,也不一定必須規(guī)定存儲(chǔ)格式,如索引或壓縮文件。從以上定義可以看出,一個(gè)是專(zhuān)門(mén)用于存儲(chǔ)數(shù)據(jù)或存儲(chǔ)模型中所有構(gòu)件的數(shù)據(jù)庫(kù),該

27、數(shù)據(jù)庫(kù)是文檔進(jìn)文檔出,雖然數(shù)據(jù)庫(kù)更適合于本身的特點(diǎn)。然而,純的數(shù)據(jù)庫(kù)缺乏細(xì)粒度的數(shù)據(jù)處理能力,不適合于處理數(shù)據(jù)集中的文檔。同時(shí),這樣的系統(tǒng)還不成熟,數(shù)據(jù)處理的效率也不盡人意【?,F(xiàn)有存儲(chǔ)方式的比擬分析通過(guò)上面的介紹,我們可以看出,現(xiàn)有的存儲(chǔ)方式各有優(yōu)缺點(diǎn),主要表現(xiàn)在以下幾個(gè)方面:實(shí)現(xiàn)的復(fù)雜程度方面。以文件系統(tǒng)的方式存儲(chǔ)實(shí)現(xiàn)容易,而其他兩種相對(duì)較為困難。查詢(xún)處理方面。文件系統(tǒng)本身不具備查詢(xún)處理文檔的能力,在處理查詢(xún)時(shí)需要將文檔解析為內(nèi)存中的樹(shù)結(jié)構(gòu),這種方式得缺點(diǎn)是:每次瀏覽和查詢(xún)文檔時(shí)都要重復(fù)的解析文檔;其次整個(gè)文檔在處理過(guò)程中都要駐留內(nèi)存,占用資源多,同時(shí)文件大小受內(nèi)存大小的限制?;陉P(guān)系數(shù)據(jù)的

28、存儲(chǔ)方式在查詢(xún)的時(shí)候,需要在關(guān)系模式和文檔之間轉(zhuǎn)換,查詢(xún)效率也不太理想。而純數(shù)據(jù)庫(kù)是文檔進(jìn)文檔出的方式,所以查詢(xún)效率相對(duì)較高。并發(fā)性。因?yàn)椴僮飨到y(tǒng)提供的最小操作單位是文件,所以的文件系統(tǒng)并發(fā)性很差;同樣,純數(shù)據(jù)庫(kù)技術(shù)目前還不成熟,并發(fā)行也較差;而關(guān)系數(shù)據(jù)庫(kù)經(jīng)過(guò)多年的開(kāi)展,具有成熟的并發(fā)機(jī)制。第章相關(guān)技術(shù)的分析及問(wèn)題的提出平安性。文件系統(tǒng)存儲(chǔ)方式是操作系統(tǒng)級(jí)的平安級(jí)別,平安性較低;而其他兩種存儲(chǔ)方式的平安級(jí)別是數(shù)據(jù)庫(kù)級(jí)的,是建立在操作系統(tǒng)之上的,平安性要高得多。文檔轉(zhuǎn)化方面。文件系統(tǒng)存儲(chǔ)方式和純數(shù)據(jù)庫(kù)方式不需要對(duì)文檔進(jìn)行轉(zhuǎn)化;而基于關(guān)系數(shù)據(jù)庫(kù)的存儲(chǔ)方式需要在文檔模式和支持的數(shù)據(jù)庫(kù)模式之間進(jìn)行映射

29、轉(zhuǎn)化,這也正是文檔關(guān)系化存儲(chǔ)的技術(shù)難點(diǎn)。技術(shù)成熟性方面。關(guān)系數(shù)據(jù)庫(kù)技術(shù)經(jīng)過(guò)大力開(kāi)展,在各方面都相當(dāng)成熟;而純數(shù)據(jù)庫(kù)技術(shù)目前還不成熟,也沒(méi)有統(tǒng)一的標(biāo)準(zhǔn)。應(yīng)用范圍方面。關(guān)系數(shù)據(jù)庫(kù)被廣泛應(yīng)用于各種商業(yè)系統(tǒng)中,而純數(shù)據(jù)庫(kù)還處在研究階段?;陉P(guān)系數(shù)據(jù)庫(kù)的文檔映射技術(shù)當(dāng)前文檔數(shù)據(jù)映射的研究,主要是與關(guān)系數(shù)據(jù)庫(kù)的映射。將文檔映射為關(guān)系模式進(jìn)行存儲(chǔ),有兩大類(lèi)映射方法【】:模型映射和結(jié)構(gòu)映射,其中基于結(jié)構(gòu)的映射方法又可以分為兩類(lèi),分別是:基于的結(jié)構(gòu)映射方法和基于的結(jié)構(gòu)映射方法。對(duì)于模型映射,需要將文檔模型即文檔樹(shù)結(jié)構(gòu)映射為關(guān)系模式,關(guān)系模式表示文檔模型的構(gòu)造,對(duì)于所有文檔都有固定的關(guān)系模式,因此,它是或無(wú)關(guān)的;

30、而對(duì)于結(jié)構(gòu)映射,需要將或映射為關(guān)系模式,關(guān)系模式用來(lái)表示目標(biāo)文檔的邏輯結(jié)構(gòu)即或,它是或相關(guān)的。在進(jìn)行關(guān)系數(shù)據(jù)庫(kù)映射時(shí),從文檔的或推斷元素應(yīng)該怎樣映射到關(guān)系表,然后再根據(jù)生成的關(guān)系模式,對(duì)文檔進(jìn)行解析分解,并將數(shù)據(jù)存入關(guān)系數(shù)據(jù)庫(kù),這樣的映射策略屬于結(jié)構(gòu)映射方法。模型映射方法模型映射法又分為:邊模型映射方法和結(jié)點(diǎn)模型映射方法。將一個(gè)文檔看成是一個(gè)有序有向邊標(biāo)記圖,稱(chēng)為圖,設(shè)計(jì)一個(gè)或假設(shè)干個(gè)關(guān)系存儲(chǔ)圖的邊信息和結(jié)點(diǎn)值,該策略是屬于基于邊的模型映射方法,稱(chēng)為邊模型映射方法。設(shè)計(jì)假設(shè)干個(gè)關(guān)系來(lái)存儲(chǔ)文檔樹(shù)的結(jié)點(diǎn)信息、結(jié)點(diǎn)值和結(jié)構(gòu)信息通過(guò)區(qū)間編碼來(lái)譯碼結(jié)構(gòu)信息,或直接存儲(chǔ)雙親孩子結(jié)點(diǎn)對(duì)或祖先后裔結(jié)點(diǎn)對(duì),該策

31、略是屬于基于結(jié)點(diǎn)的模型映射方法,稱(chēng)為結(jié)點(diǎn)模型映射方法。邊模型映射法北京工業(yè)大學(xué)工學(xué)碩士學(xué)位論文一個(gè)文檔能夠用一個(gè)有序有向邊標(biāo)記圖來(lái)表示【】在這種圖中,每一個(gè)元素用一個(gè)結(jié)點(diǎn)表示,結(jié)點(diǎn)被標(biāo)上對(duì)象的:元素與子元素或?qū)傩灾g的關(guān)系用圖中的邊來(lái)表示,并在邊上標(biāo)上子元素或?qū)傩悦簽榱吮硎驹刂懈髯釉氐捻樞颍梢詫?duì)圖中從某結(jié)點(diǎn)引出的邊進(jìn)行排序:文檔中的值作為圖中葉結(jié)點(diǎn)即屬性或最底層子元素結(jié)點(diǎn)表示。例如圖即為圖的文檔對(duì)應(yīng)文檔圖。圖文檔圖有了圖之后,就可以分別設(shè)計(jì)關(guān)系表存儲(chǔ)文檔的邊信息和值。對(duì)于用來(lái)存儲(chǔ)邊信息的邊表有三種設(shè)計(jì)方案:第一種是所有具有相同名稱(chēng)的邊存放在一個(gè)邊表中,這種方法稱(chēng)為方法。因此,圖所示的文

32、檔圖所對(duì)應(yīng)的方法的和邊表,其它依次類(lèi)推:表邊表、表逸表第二種是用一個(gè)表來(lái)存儲(chǔ)圖的所有邊信息,這種方法稱(chēng)為方法。其關(guān)第章相關(guān)技術(shù)的分析及問(wèn)題的提出系模式為:,。其中域和域表示引出結(jié)點(diǎn)和引入結(jié)點(diǎn)的,域表示該邊在兄弟邊中的位置序號(hào),與用來(lái)存儲(chǔ)邊標(biāo)記即改邊所指向結(jié)點(diǎn)的標(biāo)記名,屬性用來(lái)反映邊所指向的結(jié)點(diǎn)類(lèi)型葉結(jié)點(diǎn)類(lèi)型為、等,非葉結(jié)點(diǎn)類(lèi)型為??梢钥闯?,邊表與邊表原理相同,只是邊表將所有具有相同邊標(biāo)記的邊存放在一個(gè)表中,可以說(shuō),邊表是邊表的水平分割。因此,圖所示的文檔圖所對(duì)應(yīng)的邊表為:表方法的邊表第三種是采用一個(gè)邊表來(lái)存儲(chǔ)圖中所有路徑的邊信息,該方法稱(chēng)為方法。對(duì)于用來(lái)存儲(chǔ)文檔值的值表有兩種設(shè)計(jì)方案:第一種是

33、不單獨(dú)設(shè)計(jì)值表,將值和邊存儲(chǔ)在同一個(gè)表中,在邊表中直接增加一個(gè)屬性,用于存儲(chǔ)葉結(jié)點(diǎn)的值,這種方法稱(chēng)為內(nèi)聯(lián)方法。其關(guān)系模式為:,;第二種是為每一種可能的取值類(lèi)型設(shè)計(jì)一個(gè)值表,該方法稱(chēng)為別離值表。其關(guān)系模式為,其中存儲(chǔ)葉結(jié)點(diǎn)的,屬性用來(lái)存儲(chǔ)葉結(jié)點(diǎn)的值。從上面的映射模式可以看出,文檔圖的生成是基于文檔本身,與和沒(méi)有關(guān)系,并且映射的過(guò)程中記錄了結(jié)點(diǎn)的位置信息,因此反過(guò)來(lái),也可以從關(guān)系數(shù)據(jù)庫(kù)復(fù)原文檔。綜上所述,三種邊表設(shè)計(jì)方案連同兩種值表設(shè)計(jì)方案,合在一起一共有六種存儲(chǔ)模式。和對(duì)這六種根本的存儲(chǔ)模式的結(jié)果占關(guān)系數(shù)據(jù)庫(kù)大小、執(zhí)行不同類(lèi)型的查詢(xún)的執(zhí)行時(shí)間、從關(guān)系數(shù)據(jù)重構(gòu)文檔北京工業(yè)大學(xué)工學(xué)碩士學(xué)位論文的時(shí)間

34、等三個(gè)性能參數(shù)進(jìn)行了量化分析,結(jié)論是:邊表方法優(yōu)于邊表方法,邊表方法又優(yōu)于邊表方法;內(nèi)聯(lián)值表方法優(yōu)于別離值表方法;邊表帶內(nèi)聯(lián)值表的存儲(chǔ)模式能獲得最好的綜合性能。方法和方法查詢(xún)性能不好的主要原因是由于邊表太大,因此執(zhí)行連接操作非常費(fèi)時(shí)。事實(shí)上,對(duì)于一個(gè)給定查詢(xún)來(lái)說(shuō),邊表中存放的數(shù)據(jù)大局部是不相關(guān)的。換句話(huà)說(shuō),在方法中僅僅相關(guān)的數(shù)據(jù)被處理,即使卷入大量的連接和回路操作,由于現(xiàn)代關(guān)系查詢(xún)引擎有非常強(qiáng)的查詢(xún)處理能力,也能獲得很好的查詢(xún)性能。內(nèi)聯(lián)值表方法優(yōu)于別離值表方法的主要原因是內(nèi)聯(lián)方法無(wú)須進(jìn)行邊表與值表之間的連接操作。對(duì)于許多不同的數(shù)據(jù)類(lèi)型,由于在關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)中,空值通常以一種緊縮方式進(jìn)行存儲(chǔ),因

35、此空間就節(jié)省了,解決了大量冗余的問(wèn)題。結(jié)點(diǎn)模型映射法模式,等基于結(jié)點(diǎn)模型映射方法提出了一個(gè)數(shù)據(jù)的關(guān)系存儲(chǔ)模式,稱(chēng)為。是通過(guò)區(qū)間編碼,來(lái)反映譯碼文檔的模型結(jié)構(gòu),并根據(jù)內(nèi)容來(lái)劃分,分為元素邊、屬性邊和文本邊,同時(shí)將所有路徑進(jìn)行存儲(chǔ),因此,模式由四個(gè)關(guān)系表組成:,其中,在表中,為標(biāo)記路徑的標(biāo)識(shí),域存儲(chǔ)標(biāo)記路徑,為了實(shí)現(xiàn)路徑表達(dá)式的字符串匹配操作,將標(biāo)記路徑中的“,替換為“彤進(jìn)行存儲(chǔ)。對(duì)于,和表,主鍵是,是外鍵。每一個(gè)不同的標(biāo)記路徑作為表的一個(gè)元組,因此它能夠有效地處理帶“操作的正那么路徑表達(dá)式查詢(xún)。第一步,利用字符串中的匹配操作,能夠快速地查找出與給定正那么路徑表達(dá)式相匹配的所有標(biāo)記路徑的標(biāo)識(shí):第二

36、步,利用這些路徑標(biāo)識(shí),能夠快速地查找出隸屬于這些路徑終端的值元素結(jié)點(diǎn)、文本結(jié)點(diǎn)或?qū)傩越Y(jié)點(diǎn)。的最大優(yōu)點(diǎn)在于它與標(biāo)準(zhǔn)的緊密結(jié)合,從而能夠?qū)诘牟樵?xún)給予相當(dāng)好的性能支持,但同時(shí)它也存在很大的缺乏之處,尤其是它的信息具有很大的冗余信息,一個(gè)簡(jiǎn)單的修改節(jié)點(diǎn)名字的操作,都會(huì)需要相當(dāng)復(fù)雜的操作。模式香港科技大學(xué),和等基于結(jié)點(diǎn)模型映射方第章相關(guān)技術(shù)的分析及問(wèn)題的提:法提出了另一個(gè)數(shù)據(jù)的關(guān)系存儲(chǔ)模式,稱(chēng)為【。是通過(guò)一個(gè)單獨(dú)的,表來(lái)反映文檔的模型結(jié)構(gòu),并根據(jù)內(nèi)容和“結(jié)構(gòu)與非結(jié)構(gòu)來(lái)劃分邊,同時(shí)將所有路徑進(jìn)行存儲(chǔ),因此,模式也由四個(gè)關(guān)系表組成:,其中為標(biāo)記路徑的長(zhǎng)度,即標(biāo)記路徑中邊標(biāo)記的個(gè)數(shù):域存儲(chǔ)標(biāo)記路徑,與類(lèi)似

37、,這里將標(biāo)記路徑中的“替換為“進(jìn)行存儲(chǔ):為文檔中元素結(jié)點(diǎn)的標(biāo)識(shí),它也可以作為以該結(jié)點(diǎn)為終端點(diǎn)的數(shù)據(jù)路徑的標(biāo)識(shí):,分別為文檔的數(shù)據(jù)路徑中的雙親結(jié)點(diǎn)、孩子結(jié)點(diǎn)的標(biāo)識(shí)。這里,沒(méi)有考慮文檔標(biāo)識(shí)。表存儲(chǔ)的是雙親孩子關(guān)系,因此,為了檢查數(shù)據(jù)路徑需要進(jìn)行連接操作。為了加速這種處理,可以不用表,而改用表來(lái)存儲(chǔ)祖先后裔關(guān)系:,例如,利用元組,表示結(jié)點(diǎn)的曾祖父是結(jié)點(diǎn)。表能夠快速地檢測(cè)結(jié)點(diǎn)之間的祖先后裔關(guān)系,但是它比表需要更多的空間,而且由于存在冗余信息,修改起來(lái)代價(jià)也更高。模式分別通過(guò)表和表來(lái)支持標(biāo)記路徑和數(shù)據(jù)路徑,因此,模式既具有基于結(jié)點(diǎn)的模型映射的特點(diǎn),又具有基于邊的模型映射的特點(diǎn)。,表基于雙親孩子關(guān)系來(lái)反映

38、文檔的核心結(jié)構(gòu),它也能夠被進(jìn)一步物化為表來(lái)支持祖先后裔關(guān)系。由于文檔中的結(jié)點(diǎn)標(biāo)識(shí)也可以用來(lái)標(biāo)識(shí)以該結(jié)點(diǎn)為終端點(diǎn)的數(shù)據(jù)路徑,因此,元素和數(shù)據(jù)文本或?qū)傩噪`屬于數(shù)據(jù)路徑。結(jié)點(diǎn)模型映射方法需要維護(hù)的是文檔樹(shù)的結(jié)點(diǎn)信息,而不是邊信息。模式通過(guò)區(qū)間編碼來(lái)譯碼文檔的模型結(jié)構(gòu)即包含關(guān)系,它的優(yōu)點(diǎn)是通過(guò)口連接非等值連接,能夠容易判別兩個(gè)結(jié)點(diǎn)之間的包含關(guān)系。但是,秒連接的代價(jià)比等值連接要高得多,這是因?yàn)樵陉P(guān)系數(shù)據(jù)庫(kù)中并沒(méi)有特殊的索引機(jī)制來(lái)支持它。模式在結(jié)構(gòu)上類(lèi)似于模式,只是用替代了【,。然而,這種變化使得模式僅需要等值連接,而模式卻需要連接,因此,模式能夠基于傳統(tǒng)的索引機(jī)制如樹(shù)索引,從而得到有效的實(shí)現(xiàn)。方法的最大

39、優(yōu)點(diǎn)也在于它與標(biāo)準(zhǔn)的緊密結(jié)合,從而能夠?qū)诘牟樵?xún)給予相當(dāng)好的性能支持,但同時(shí)它也存在路徑冗余的缺點(diǎn)。北京工業(yè)大學(xué)工學(xué)碩士學(xué)位論文基于的結(jié)構(gòu)映射方法基于的結(jié)構(gòu)映射研究中比擬有影響的方法有方法【矧、方法、方法【引。方法方法【是較早用關(guān)系數(shù)據(jù)庫(kù)來(lái)存儲(chǔ)數(shù)據(jù)最有一意義的嘗試。結(jié)合關(guān)系數(shù)據(jù)庫(kù)技術(shù)和半結(jié)構(gòu)化數(shù)據(jù)處理技術(shù)來(lái)實(shí)現(xiàn)對(duì)半結(jié)構(gòu)化數(shù)據(jù)的管理。它采用數(shù)據(jù)挖掘算法從文檔中提取有一代表性而且置信度大于預(yù)先給定閾值的,根據(jù)提取出的自動(dòng)生成關(guān)系模式,對(duì)于個(gè)別不符合所提取結(jié)構(gòu)的數(shù)據(jù),將它們另外存在“表中,因而從理論上說(shuō),是一種無(wú)損存儲(chǔ)方法,能實(shí)現(xiàn)數(shù)據(jù)的完整復(fù)原。但由于用關(guān)系表和“共同存儲(chǔ)數(shù)據(jù),對(duì)于那些結(jié)構(gòu)變化較大

40、的文檔,“將變得很龐大,不但消耗大量的數(shù)據(jù)空間,而且查詢(xún)操作也需要經(jīng)常徘徊于關(guān)系表和之間,因而效率不高。語(yǔ)句主要是由一個(gè)或多個(gè)映射構(gòu)成,從句主要用于綁定存在的映射變量,而從句主要說(shuō)明從句中的變量在關(guān)系模式中的存儲(chǔ)方法。方法等提出了根據(jù)映射關(guān)系模式的存儲(chǔ)策略【】,方法是領(lǐng)域比擬有影響的一個(gè)研究:。方法根據(jù)來(lái)生成相應(yīng)的關(guān)系模式。根據(jù)文檔的定義建立一個(gè)有向圖,首先需要對(duì)進(jìn)行適當(dāng)?shù)暮?jiǎn)化,然后產(chǎn)生圖及元素圖,再根據(jù)圖或元素圖生成關(guān)系模式,最后將符合該的文檔數(shù)據(jù)裝入關(guān)系數(shù)據(jù)中。首先,簡(jiǎn)化并生成圖。的元素說(shuō)明可以是任意復(fù)雜的,因此,在將映射為關(guān)系模式之前,必須對(duì)一些復(fù)雜的進(jìn)行必要的簡(jiǎn)化變換。簡(jiǎn)化變換包括三種

41、類(lèi)型。,變換:變換每一個(gè)嵌套定義到平坦的表示,使二元操作“,和“不出現(xiàn)在任何操作之內(nèi)。變換:將連續(xù)的多個(gè)一元操作縮簡(jiǎn)為一個(gè)一元操作。變換:將多個(gè)具有相同名稱(chēng)的子元素進(jìn)行聚合,形成一個(gè)子元素。另外,所有的“操作被轉(zhuǎn)換成“幸操作。一個(gè)圖表示一個(gè)的結(jié)構(gòu),圖的結(jié)點(diǎn)是中的元素、屬性和正那么路徑運(yùn)算符,每一個(gè)元素在圖中出現(xiàn)且僅出現(xiàn)一次,屬性和操作符在圖第章相關(guān)技術(shù)的分析及問(wèn)題的提中出現(xiàn)的次數(shù)那么與它們?cè)谥谐霈F(xiàn)的次數(shù)相同:圖的邊那么反映中元素之間的嵌套關(guān)系:圖中的環(huán)表示回路的出現(xiàn)。如圖是根據(jù)一個(gè)所產(chǎn)生的圖。其次,根據(jù)圖生成關(guān)系模式。一根據(jù)一個(gè)圖生成的關(guān)系模式是該圖中每一個(gè)元素所生成的關(guān)系模式的并。為了說(shuō)明如

42、何生成一個(gè)元素的關(guān)系模式,需要引入元素圖的概念。簡(jiǎn)單地說(shuō),一個(gè)元素的元素圖就是從該元素出發(fā)以深度優(yōu)先遍歷圖的過(guò)程中所生成的一棵樹(shù)。如果遍歷過(guò)程中到達(dá)了一個(gè)已經(jīng)遍歷過(guò)的結(jié)點(diǎn),那么表示出現(xiàn)了回路,回路可看成逆向邊,它以虛線(xiàn)邊來(lái)表示,且該條路線(xiàn)不必再去重復(fù)遍歷。根據(jù)圖生成關(guān)系模式的方法有:根本內(nèi)聯(lián)法、共享內(nèi)聯(lián)法和綜合內(nèi)聯(lián)法【。根本內(nèi)聯(lián)法根本內(nèi)聯(lián)法對(duì)于每一個(gè)名為的元素,根據(jù)它的元素圖生成一個(gè)同名關(guān)系,元素圖中根結(jié)點(diǎn)的所有后裔葉結(jié)點(diǎn)均內(nèi)聯(lián)到該關(guān)系中作為一個(gè)屬性。但以下兩種情況除外:北京工業(yè)大學(xué)二學(xué)碩士學(xué)位論文一個(gè)乖或結(jié)點(diǎn)的直接孩子結(jié)點(diǎn)不包括在該關(guān)系中,即對(duì)于集合值孩子將另外生成一個(gè)新的關(guān)系:產(chǎn)生逆向邊的

43、結(jié)點(diǎn)不包括在該關(guān)系中,即另外生成一個(gè)新的關(guān)系來(lái)處理回路。,在生成的關(guān)系模式中,關(guān)系的屬性是以從結(jié)點(diǎn)到內(nèi)聯(lián)結(jié)點(diǎn)的路徑來(lái)命名的;每一個(gè)關(guān)系需要有一個(gè)域來(lái)作為該關(guān)系的鍵;對(duì)于幸或結(jié)點(diǎn)的直接孩子結(jié)點(diǎn)以及帶回路的結(jié)點(diǎn),它們所生成的關(guān)系還需要有一個(gè)域來(lái)作為該關(guān)系的外鍵。共享內(nèi)聯(lián)法共享內(nèi)聯(lián)法使每一個(gè)元素結(jié)點(diǎn)出現(xiàn)且只出現(xiàn)在一個(gè)關(guān)系中。它按如下原那么來(lái)判斷哪些元素可以生成獨(dú)立的關(guān)系:圖中入度大于或等于的元素結(jié)點(diǎn)生成獨(dú)立的關(guān)系模式;圖中結(jié)點(diǎn)棗或的直接后繼元素結(jié)點(diǎn)生成獨(dú)立的關(guān)系模式;互為遞歸的入度均為的元素結(jié)點(diǎn),其中之一生成獨(dú)立的關(guān)系模式;其余的結(jié)點(diǎn)均生成關(guān)系屬性。下面的圖即為圖中的圖對(duì)應(yīng)的共享內(nèi)聯(lián)法生成的關(guān)系模式

44、:,:,:,:,:,:,:,:,:,:,:,:,:,:,:,礎(chǔ):曲:,:,:,:,鈾:,:,:,:,:,:圖共享內(nèi)聯(lián)法生成的關(guān)系模式綜合內(nèi)聯(lián)法在共享內(nèi)聯(lián)法的根底上,將所有入度大于的元素結(jié)點(diǎn)也內(nèi)聯(lián)進(jìn)入父結(jié)點(diǎn)所生成的關(guān)系中,但是帶回路的結(jié)點(diǎn)以及結(jié)點(diǎn)或的直接后繼結(jié)點(diǎn)除外。綜合內(nèi)聯(lián)法的出發(fā)點(diǎn)是充分吸取根本內(nèi)聯(lián)法和共享內(nèi)聯(lián)法的優(yōu)點(diǎn),克服其缺點(diǎn)。下面的圖即為圖中的圖對(duì)應(yīng)的綜合內(nèi)聯(lián)法生成的關(guān)系模式:第章相關(guān)技術(shù)的分析及問(wèn)題的提出:,:,:,:,融:,:,:昭,:,:,:曲:,:,:,:,:,:,:,:曲:,:,:,:,:,:,:,齟:,:血:,:,:,:,:,:,:,:圖綜合內(nèi)聯(lián)法生成的關(guān)系模式三種算法的比

45、擬根本內(nèi)聯(lián)法對(duì)于的每一個(gè)元素都創(chuàng)立了一個(gè)關(guān)系模式,產(chǎn)生了大量的關(guān)系,并且會(huì)產(chǎn)生大量的數(shù)據(jù)冗余,因此該方法根本上是不實(shí)用的。對(duì)于共享與綜合兩種算法來(lái)說(shuō),二者都是在根本內(nèi)聯(lián)算法的根底上進(jìn)行了某些改良,目的是修正根本內(nèi)聯(lián)算法的缺點(diǎn),跟根本內(nèi)聯(lián)算法相比都有效的減少了所產(chǎn)生關(guān)系的數(shù)目。共享算法相對(duì)減少了生成的數(shù)目但增加了每個(gè)查詢(xún)的連接運(yùn)算,綜合算法相對(duì)減少了每個(gè)查詢(xún)的連接運(yùn)算但增加了查詢(xún)。方法方法【的提出給存儲(chǔ)研究者提出了一個(gè)有一意義的嘗試和挑戰(zhàn)。因?yàn)槟壳暗乃袑?duì)存儲(chǔ)的研究存都只考慮文檔的結(jié)構(gòu)信息,沒(méi)有考慮到文檔的語(yǔ)義信息問(wèn)題。而模式轉(zhuǎn)換過(guò)程中語(yǔ)義信息的保持不但可以更有效地復(fù)原文檔,而且也可以減少數(shù)據(jù)庫(kù)

46、中某些不必要的存儲(chǔ)。采用混合內(nèi)聯(lián)法【,充分考慮了文檔中的域約束、基數(shù)約束、包含依賴(lài),等價(jià)生成依賴(lài),、元組生成依賴(lài),四種語(yǔ)義信息,完成了從到關(guān)系模式的映射。基于的結(jié)構(gòu)映射法目前比擬有影響的基于的結(jié)構(gòu)映射方法是:【方法。文獻(xiàn)【】提出了的思想,是的一種等價(jià)形式,北京工業(yè)大學(xué)工學(xué)碩士學(xué)位論文并由變換而來(lái)。將原始中的多值元素提取出來(lái)進(jìn)行單獨(dú)處理,生成同名的復(fù)雜類(lèi)型,并在其父親元素的類(lèi)型定義中保存對(duì)新增類(lèi)型的引用。根據(jù)文獻(xiàn)例,可以直接映射為關(guān)系模式,從而實(shí)現(xiàn)了文檔到關(guān)系數(shù)據(jù)庫(kù)的映射。同時(shí),文獻(xiàn)【】提出了到關(guān)系模式的生成規(guī)那么:對(duì)于中的每個(gè)類(lèi)型,創(chuàng)立關(guān)系;對(duì)于新建立的每個(gè)關(guān)系,創(chuàng)立主鍵用于存儲(chǔ)相應(yīng)元素節(jié)點(diǎn)的

47、;對(duì)于每個(gè)關(guān)系,創(chuàng)立類(lèi)型的父類(lèi)型的引用外鍵;在每個(gè)關(guān)系玎中,對(duì)類(lèi)型的任意簡(jiǎn)單類(lèi)型的單值子元素新建一列;如果某單值簡(jiǎn)單類(lèi)型元素有修飾,那么創(chuàng)立列時(shí),該列允許為空。方法是一種基于代價(jià)的方法,它根據(jù)查詢(xún)的不同特點(diǎn)來(lái)生成關(guān)系模式,是一種比擬靈活的方法,但對(duì)元素的提取并不徹底。的存儲(chǔ)應(yīng)該需要提取出在文檔中會(huì)屢次出現(xiàn)的元素,它既包括通過(guò)定義的重復(fù)出現(xiàn)的元素,也可以是以遞歸形式嵌套出現(xiàn)的元素,還可以是屢次被引用的同一元素,而僅對(duì)簡(jiǎn)單重復(fù)出現(xiàn)的元素進(jìn)行提取,而沒(méi)有考慮到其他重復(fù)形式元素的提取,是不完善的?;陉P(guān)系數(shù)據(jù)庫(kù)的映射方法比擬分析通過(guò)對(duì)模型映射方法和結(jié)構(gòu)映射方法的詳細(xì)研究,可以總結(jié)出以下結(jié)論:模型映射方

48、法基于文檔本身,而結(jié)構(gòu)映射方法基于或者;,由于模型映射基于文檔本身,對(duì)于具有相同或者的文檔,仍然需要分別重復(fù)解析,影響效率,而結(jié)構(gòu)映射方法那么有較好的通用性;在基于模型的映射方法中,關(guān)系模式記錄了元素的順序信息和結(jié)構(gòu)信息,但所有的方法沒(méi)有考慮語(yǔ)義約束,同時(shí)基于模型的映射方法不符合軟件開(kāi)發(fā)重用的理念。在所有基于結(jié)構(gòu)映射的方法中,大局部是基于的映射方法,并且基于的映射方法也考慮到了映射過(guò)程中語(yǔ)義的一致性,但是對(duì)于基于的映射方法研究較少,并且技術(shù)也很不完善。同時(shí),我們也不難發(fā)現(xiàn),模式本身所固有的缺點(diǎn),使得基于模式的映射方法,并不能很好的保持語(yǔ)義的一致性,例如:對(duì)于類(lèi)型的定義只有和兩種,映射到關(guān)系模式

49、的時(shí)候缺點(diǎn)就顯現(xiàn)了出來(lái)。第章相關(guān)技術(shù)的分析及問(wèn)題的提出研究問(wèn)題的提出及分析從上面的分析可知:由于關(guān)系數(shù)據(jù)庫(kù)技術(shù)的大力開(kāi)展、成熟的技術(shù)和廣泛的應(yīng)用,使得文檔的關(guān)系化存儲(chǔ)成為可行的數(shù)據(jù)存儲(chǔ)方法,有廣闊的開(kāi)展前景。因此,本文主要研究基于關(guān)系數(shù)據(jù)庫(kù)的數(shù)據(jù)存儲(chǔ)技術(shù),而基于關(guān)系數(shù)據(jù)庫(kù)的數(shù)據(jù)存儲(chǔ)要解決的關(guān)鍵問(wèn)題就是,模式與關(guān)系模式的映射問(wèn)題。從前面的綜述中也可以看出,作為技術(shù)領(lǐng)域早期所廣泛使用的一種模式,基于它的關(guān)系化映射方法研究較多,而前尚沒(méi)有較好的基于的關(guān)系映射模式。但是,存在諸多缺乏,例如缺乏對(duì)文檔結(jié)構(gòu)、屬性、數(shù)據(jù)類(lèi)型等約束的足夠描述等,于是,于年月正式推薦為的標(biāo)準(zhǔn)模式。自從標(biāo)準(zhǔn)出現(xiàn)以后,由于的諸多優(yōu)

50、點(diǎn),使得逐漸代替成為驗(yàn)證文檔格式的有效性的方式。因此,本文中,我們研究的主要問(wèn)題就是,基于的關(guān)系化映射方法。,通過(guò)上面的介紹可知:目前大多數(shù)基于的關(guān)系映射模式的研究方法中,都存在一些缺乏。有的只是從結(jié)構(gòu)上進(jìn)行轉(zhuǎn)換,沒(méi)有考慮到模式中包含的信息,不能保持實(shí)體完整性、參照完整性、取值約束以及減少數(shù)據(jù)冗余;有的雖然保持了語(yǔ)義約束,但是在數(shù)據(jù)存儲(chǔ)時(shí),沒(méi)有考慮數(shù)據(jù)自身的特點(diǎn),如順序性,層次性等,這就失去了轉(zhuǎn)換到關(guān)系模式意義。綜上所述,在本文的后半局部,我們主要研究中各組件的轉(zhuǎn)化方法和一種基于的文檔關(guān)系化映射方法。本章小結(jié)在本章中,節(jié)簡(jiǎn)單的介紹了技術(shù)的優(yōu)點(diǎn)、應(yīng)用特點(diǎn)、模式語(yǔ)言和解析技術(shù);節(jié)主要對(duì)當(dāng)前的存儲(chǔ)方

51、式進(jìn)行了介紹,并且指出了各種存儲(chǔ)方式的利弊;節(jié)介紹了基于關(guān)系數(shù)據(jù)庫(kù)的文檔映射方法,分別介紹了基于模型的映射方法和基于結(jié)構(gòu)的映射方法,并對(duì)它們加以比照;節(jié)中基于對(duì)前三節(jié)中理論總結(jié)分析的根底上,提出了本論文要研究的問(wèn)題。第章組件轉(zhuǎn)化方法的研究第章組件轉(zhuǎn)化方法的研究中的組件的特性與轉(zhuǎn)化思路主要有,等組件,分別簡(jiǎn)要介紹如下:。用于聲明該文檔是一個(gè)文檔。它包含兩個(gè)屬性:指定該的名稱(chēng),用來(lái)指定的命名空間。女:。用于定義元素,中包含,等屬性。記錄元素的名稱(chēng)。表示元素的類(lèi)型,可以是簡(jiǎn)單數(shù)據(jù)類(lèi)型或是自定義的復(fù)雜類(lèi)型。,表示元素在實(shí)例中出現(xiàn)的次數(shù)范圍。表示屬性,嵌套在相應(yīng)的元素中,包括,等屬性。記錄屬性名,表示屬

52、性類(lèi)型,表示屬性在元素中出現(xiàn)的情況,分為,。其中表示屬性有一個(gè)確定的默認(rèn)值,表示屬性可以有一個(gè)默認(rèn)值,為缺省值,表示屬性在元素中必須出現(xiàn)。內(nèi)的一系列屬性和元素成為一個(gè)序列,序列中的每個(gè)成員按該定義中出現(xiàn)的順序出現(xiàn)在每個(gè)文檔實(shí)例中。中出現(xiàn)的多個(gè)元素或元素組,只能有一個(gè)出現(xiàn)在每個(gè)文檔實(shí)例中。用于將文檔中的元素分組,一般嵌套在中。在文檔中,元素的數(shù)據(jù)類(lèi)型有兩種:簡(jiǎn)單類(lèi)型和復(fù)雜類(lèi)型。對(duì)于復(fù)雜類(lèi)型的元素,都定義了復(fù)雜類(lèi)型元素的內(nèi)容模型、和,定義了其模型組中子元素的出現(xiàn)順序和結(jié)構(gòu)等;同時(shí)中還定義了其模型組中子元素的出現(xiàn)次數(shù);復(fù)雜類(lèi)型的元素還可能具有屬性或者屬性組。對(duì)于屬性或是簡(jiǎn)單類(lèi)型的元素,主要是處理它們

53、的數(shù)據(jù)類(lèi)型。我們的關(guān)系映射思路是:對(duì)于屬性和簡(jiǎn)單類(lèi)型的元素,由于在元數(shù)據(jù)表中已經(jīng)標(biāo)識(shí)出哪些結(jié)點(diǎn)為元素,哪些結(jié)點(diǎn)為屬性,所以不再單獨(dú)為它們創(chuàng)立表,只需要把它們轉(zhuǎn)換成為字段放入到為其父元素建立的表中就可以了,這樣可以大大地壓縮生成的關(guān)系表的數(shù)量;而對(duì)于復(fù)雜類(lèi)型元素,因?yàn)樗赡馨釉鼗蛘邔傩?,甚至兩者都包括,那么顯然是不能把它映射成為表中的一個(gè)字段,因此我們?yōu)槊恳粋€(gè)復(fù)雜類(lèi)型元素單獨(dú)創(chuàng)立表。在研究以上各種組件轉(zhuǎn)化到關(guān)系模式的過(guò)程中,我們充分考慮了北京工業(yè)大學(xué)工學(xué)碩十學(xué)位論文所包含的各種約束信息,不僅包括保持?jǐn)?shù)據(jù)本身的順序性、層次性、以及元素和屬性相區(qū)別的特點(diǎn);而且最大程度的保持中描述的語(yǔ)義信息,如

54、實(shí)體完整性、參照完整性、取值約束以及函數(shù)依賴(lài)等。規(guī)那么表名命名規(guī)那么由于只有復(fù)雜類(lèi)型元素才單獨(dú)創(chuàng)立表,表名取自映射為復(fù)雜類(lèi)型元素的屬性值。規(guī)那么字段名命名規(guī)那么在關(guān)系化映射的過(guò)程中,只有簡(jiǎn)單類(lèi)型元素和屬性映射為表的字段,字段名取自映射為字段的簡(jiǎn)單類(lèi)型元素和屬性的屬性值。以下我們分別介紹各組件的轉(zhuǎn)化方法,并在轉(zhuǎn)化的過(guò)程中充分考慮到各種約束語(yǔ)義的保存。在本論文中,我們以經(jīng)典的圖書(shū)結(jié)構(gòu)作為例如來(lái)進(jìn)行分析,如下例:。?:胗,:扮:胗:一:。:一:北京工業(yè)大學(xué)工學(xué)碩士學(xué)位論文具有語(yǔ)義保持的簡(jiǎn)單類(lèi)型元素轉(zhuǎn)化方法研究簡(jiǎn)單類(lèi)型元素既不能包含子元素,也不能帶有任何屬性。簡(jiǎn)單類(lèi)型一般可以分成以下四類(lèi):內(nèi)置簡(jiǎn)單類(lèi)型

55、、限制簡(jiǎn)單類(lèi)型、列表類(lèi)型和聯(lián)合類(lèi)型。因?yàn)閮?nèi)置簡(jiǎn)單類(lèi)型和限制簡(jiǎn)單類(lèi)型都是不能再分割的,所以?xún)?nèi)置簡(jiǎn)單類(lèi)型和限制簡(jiǎn)單類(lèi)型又被統(tǒng)稱(chēng)為原子類(lèi)型。以例中的簡(jiǎn)單類(lèi)型元素為例:今,我們可以看出,簡(jiǎn)單類(lèi)型元素的語(yǔ)義有:、和次數(shù)限制構(gòu)成。簡(jiǎn)單內(nèi)置類(lèi)型的轉(zhuǎn)化方法目前標(biāo)準(zhǔn)中定義了種內(nèi)置的簡(jiǎn)單類(lèi)型,這些簡(jiǎn)單類(lèi)型代表了常見(jiàn)的數(shù)據(jù)類(lèi)型,字符串、數(shù)字、日期和時(shí)間值等,例如,的“:“:,“:等等。我們認(rèn)為可以直接把定義的內(nèi)置簡(jiǎn)單類(lèi)型映射到關(guān)系數(shù)據(jù)庫(kù)中對(duì)應(yīng)的類(lèi)型。例如,如果關(guān)系數(shù)據(jù)庫(kù)是,那么可以把的“:類(lèi)型映射成數(shù)據(jù)庫(kù)中的類(lèi)型,“:可以映射成數(shù)據(jù)庫(kù)中的類(lèi)型。但是這樣的轉(zhuǎn)換存在著長(zhǎng)度不匹配的問(wèn)題:的“:和“:可以表示任何字符串和數(shù)

56、值,而的類(lèi)型需要定義長(zhǎng)度,默認(rèn)長(zhǎng)度為,類(lèi)型也是有一定數(shù)值表示范圍。由于文檔中所有類(lèi)型都沒(méi)有給出長(zhǎng)度的定義,所以長(zhǎng)度問(wèn)題還是轉(zhuǎn)換成關(guān)系數(shù)據(jù)庫(kù)模式時(shí)所遇到的一個(gè)無(wú)法解決的問(wèn)題。好在實(shí)際應(yīng)用中使用的數(shù)值和字符串等各種類(lèi)型一般都是有一定的長(zhǎng)度限度,數(shù)據(jù)庫(kù)的默認(rèn)設(shè)置都能滿(mǎn)足應(yīng)用需求。只是映射為默認(rèn)長(zhǎng)度,這樣會(huì)浪費(fèi)一些空間,不是一個(gè)好的數(shù)據(jù)庫(kù)設(shè)計(jì)。我們將的數(shù)據(jù)類(lèi)型缺省地映射到關(guān)系數(shù)據(jù)庫(kù)中對(duì)應(yīng)的數(shù)據(jù)類(lèi)型,如果在導(dǎo)入時(shí),遇到長(zhǎng)度超過(guò)給出的限定,那么可以修改表結(jié)構(gòu),增加這個(gè)字段的長(zhǎng)度直到能夠接受需要導(dǎo)入的串的長(zhǎng)度。限制內(nèi)置類(lèi)型的轉(zhuǎn)化方法限制簡(jiǎn)單類(lèi)型是通過(guò)派生那些己存在的簡(jiǎn)單類(lèi)型來(lái)定義的,這些簡(jiǎn)單類(lèi)型可以是內(nèi)置的

57、,也可以是已經(jīng)派生出來(lái)的。換句話(huà)說(shuō),如果要?jiǎng)?chuàng)立自己的限制內(nèi)置類(lèi)型,那么最開(kāi)始的那個(gè)類(lèi)型就必須是內(nèi)置簡(jiǎn)單類(lèi)型或是通過(guò)內(nèi)置簡(jiǎn)單類(lèi)型派生的簡(jiǎn)單類(lèi)型。在上例所示的模式中,簡(jiǎn)單類(lèi)型“第章組件轉(zhuǎn)化方法的研究就是從根底類(lèi)型“:中派生出來(lái)的:以及下面例子中的簡(jiǎn)單類(lèi)型“:【】:由于限制類(lèi)型是基于簡(jiǎn)單內(nèi)置類(lèi)型的,不同的是限制類(lèi)型可能存在對(duì)取值的限制,所以我們?cè)賹⑾拗苾?nèi)置類(lèi)型轉(zhuǎn)化到關(guān)系模式時(shí),需要考慮限制性約束。因此,限制類(lèi)型的轉(zhuǎn)化算法為:將限制類(lèi)型元素轉(zhuǎn)化為其父元素的一個(gè)字段,字段類(lèi)型為限制類(lèi)型基于的簡(jiǎn)單內(nèi)置類(lèi)型,字段名為限制類(lèi)型元素的名稱(chēng),并在轉(zhuǎn)化的過(guò)程中考慮限制型約束。例如:存在一個(gè)元素,上面例子中的簡(jiǎn)單類(lèi)型

58、是元素的子元素的數(shù)據(jù)類(lèi)型。轉(zhuǎn)化到關(guān)系數(shù)據(jù)庫(kù)中為:,對(duì)應(yīng)的創(chuàng)立數(shù)據(jù)庫(kù)表的語(yǔ)句為:,】【】【】【。列表類(lèi)型的轉(zhuǎn)化方法列表類(lèi)型是由一組原子類(lèi)型的值組成的有限長(zhǎng)度的序列組,它的每一個(gè)局部都是原子的、不可分割的,并且本身都是有意義的。除了使用內(nèi)置的列表類(lèi)型外,還可以通過(guò)引用現(xiàn)有的簡(jiǎn)單類(lèi)型來(lái)建立新的列表類(lèi)型。但是請(qǐng)注意,不可以使用現(xiàn)有的列表類(lèi)型來(lái)建立新的列表類(lèi)型,也不能使用復(fù)合類(lèi)型來(lái)建立新的列表類(lèi)型。由于列表類(lèi)型歸根到底也是基于內(nèi)置數(shù)據(jù)類(lèi)型,與限制類(lèi)型相似的是,列表類(lèi)型也有對(duì)元素取值范圍的規(guī)定,需要對(duì)列表類(lèi)型元素的取值進(jìn)行約束。因此,限制類(lèi)型的轉(zhuǎn)化算法為:將列表類(lèi)型元素轉(zhuǎn)化為其父元素的一個(gè)字段,字段類(lèi)型北

59、京工業(yè)大學(xué)工學(xué)碩士學(xué)位論文為列表類(lèi)型基于的簡(jiǎn)單內(nèi)置類(lèi)型,字段名為列表類(lèi)型元素的名稱(chēng),并在轉(zhuǎn)化的過(guò)程中考慮取值范圍約束。下面,本文舉一個(gè)列表類(lèi)型的例子加以說(shuō)明。先定義一個(gè)簡(jiǎn)單類(lèi)型,是基于“:的列表類(lèi)型,此類(lèi)型定義了某個(gè)企業(yè)員工的工資等級(jí)取值范圍為。:“:今:接著,利用創(chuàng)立列表類(lèi)型:一然后,給出內(nèi)容符合類(lèi)型的一個(gè)元素:例如:存在一個(gè)元素,上面例子中的列表類(lèi)型“的元素是元素的子元素。轉(zhuǎn)化到關(guān)系數(shù)據(jù)庫(kù)中為:,。對(duì)應(yīng)的創(chuàng)立數(shù)據(jù)庫(kù)表的語(yǔ)句為:,聯(lián)合類(lèi)型的轉(zhuǎn)化方法聯(lián)合類(lèi)型的值可以是原子值,也可以是列表值。該類(lèi)型的有效值集是兩個(gè)或多個(gè)其他簡(jiǎn)單類(lèi)型的聯(lián)合。也就是說(shuō)一個(gè)聯(lián)合類(lèi)型包含了多個(gè)原子類(lèi)型或者列表類(lèi)型,由于

60、原子類(lèi)型和列表類(lèi)型歸根到底是基于簡(jiǎn)單內(nèi)置類(lèi)型,所以聯(lián)合類(lèi)型元素的取值可以從多個(gè)不同的簡(jiǎn)單內(nèi)置類(lèi)型。由于聯(lián)合類(lèi)型元素的取值范圍較廣第章組件轉(zhuǎn)化方法的研究泛,所以我們認(rèn)為將聯(lián)合類(lèi)型元素轉(zhuǎn)化到關(guān)系模式中時(shí),不管聯(lián)合類(lèi)型元素是那種類(lèi)型,都當(dāng)作“:來(lái)對(duì)待,對(duì)應(yīng)到關(guān)系模式中的類(lèi)型。聯(lián)合類(lèi)型的轉(zhuǎn)化算法為:將聯(lián)合類(lèi)型元素轉(zhuǎn)化為其父元素的一個(gè)字段,字段類(lèi)型統(tǒng)一轉(zhuǎn)化到關(guān)系模式中的字符串類(lèi)型,字段名為聯(lián)合類(lèi)型元素的名稱(chēng),如果聯(lián)合類(lèi)型存在對(duì)元素取值的約束,并在轉(zhuǎn)化的過(guò)程中考慮約束。對(duì)于下面的例子,一個(gè)通信地址由地址和 兩局部組成,地址局部是“:類(lèi)型,而 局部是“:類(lèi)型,可見(jiàn)是聯(lián)合類(lèi)型。:例如:存在一個(gè)元素,上面的聯(lián)合

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論