歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > DOC文檔下載  

一種基于關(guān)系數(shù)據(jù)庫的XML文檔存儲和查詢的方法碩士畢業(yè)論文

  • 資源ID:37236717       資源大?。?span id="oocf5xp" class="font-tahoma">163.03KB        全文頁數(shù):18頁
  • 資源格式: DOC        下載積分:15積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要15積分
郵箱/手機:
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機號,方便查詢和重復(fù)下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認打開,此種情況可以點擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標題沒有明確說明有答案則都視為沒有答案,請知曉。

一種基于關(guān)系數(shù)據(jù)庫的XML文檔存儲和查詢的方法碩士畢業(yè)論文

一種基于關(guān)系數(shù)據(jù)庫的XML文檔存儲和查詢的方法A RDB-Based Approach to Storage and Query of XML Document ContentsChapter 1 Introduction 11.1 Research situation at home and abroad 11.2 The main work in the thesis 31.3 Structure of the thesis 4Chapter 2 Background of XML 52.1 Origin and characteristic of XML52.2 Types of XML document 62.2.1 XML document 62.2.2 DTD document 72.2.3 XML Schema 72.3 Query language of XML 82.3.1 Basic syntax of XPath 82.3.2 Calculation of the path expression 102.4 Heterogeneity between XML and RDB 11Chapter 3 Storage transformation based on path 133.1 Storage structure based on path 133.1.1 Value Table 133.1.2 No_Value_Table 153.2 Storage mapping algorithm 16Chapter 4 Mechanism of query processing 184.1 Transformation rules of linear path expression 184.1.1 Simple path including parents-child only 194.1.2 Simple path including ancestor-descendant 194.2 Processing of non-linear path expression 22Chapter 5 Further optimization of storage and query 255.1 Schema of storage optimization 255.2 Schema of storage optimization 26Chapter 6 Design and implement of the system 286.1 Whole design framework of the system 286.2 Function of the system modules 286.2.1 XML-parser 286.2.2 Storage processor 306.2.3 Query processor 316.3 Experiment result and analysis of the system performance 31Conclusion 34Reference 36Acknowledgment 40摘 要XML已成為Web上數(shù)據(jù)表示、集成和交換的標準,它的格式簡單、自我描述能力強,實現(xiàn)了內(nèi)容、結(jié)構(gòu)和表現(xiàn)三者的分離,更適合于數(shù)據(jù)表示和交換。近年來,XML在各個領(lǐng)域得到了廣泛的使用,Web上已經(jīng)涌現(xiàn)了大量的XML數(shù)據(jù)。為了有效地加工、分析和處理XML數(shù)據(jù),國內(nèi)外學(xué)者已經(jīng)提出了各種XML的查詢語言和存儲管理技術(shù)。由于關(guān)系數(shù)據(jù)庫是目前最成熟的一種數(shù)據(jù)管理技術(shù),在存儲和管理XML數(shù)據(jù)的各種方式中,基于關(guān)系數(shù)據(jù)庫的XML數(shù)據(jù)存儲和處理技術(shù)顯然是一種可行而有效的方式,并在學(xué)術(shù)界受到了廣泛的關(guān)注。然而,由于數(shù)據(jù)模型的差異,利用關(guān)系數(shù)據(jù)庫存儲和查詢XML數(shù)據(jù)給傳統(tǒng)數(shù)據(jù)庫技術(shù)帶來了許多新的挑戰(zhàn)。本文對XML數(shù)據(jù)的關(guān)系存儲、路徑表達式的查詢處理等方面進行了深入的研究和探討,發(fā)現(xiàn)了目前已有的XML數(shù)據(jù)的關(guān)系存儲方法中的不足之處。提出了一種新的利用關(guān)系數(shù)據(jù)庫存儲和查詢XML數(shù)據(jù)的方法,這種方法將XML文檔樹中有文本值的節(jié)點和文本值的節(jié)點分別存儲在兩個關(guān)系表中,它不關(guān)心文檔DTD的模式信息,也不需要建立任何索引結(jié)構(gòu)。針對這種存儲方法的特點,本文提出將XPath路徑表達式的核心子集轉(zhuǎn)換成SQL語句的轉(zhuǎn)換規(guī)則和算法。具體來說,本文的主要工作如下:(1)提出了一種新的XML數(shù)據(jù)的關(guān)系存儲方法。這種方法完整無損地記錄了XML文檔中的各節(jié)點信息、邊信息和值信息,即在關(guān)系表中存儲XML文檔中所有有值元素/屬性的路徑,以及各元素的id、Parentid、Level等信息,加快了查詢處理的速度。(2)針對我們的存儲結(jié)構(gòu),提出了新的基于表連接的查詢轉(zhuǎn)換規(guī)則和算法。這種查詢算法可以將不同形式的路徑表達式轉(zhuǎn)化為SQL查詢語句來處理。 (3)對以上的存儲和查詢方法提出進一步的優(yōu)化方案。當(dāng)XML文檔層次較多時,引入一個路徑關(guān)系表來減少對相同路徑的存儲冗余;當(dāng)查詢路徑表達式為線性結(jié)構(gòu)時,采用串匹配的方法來減少表連接次數(shù),從而減少連接操作和I/O數(shù)量。(4)論文提出的存儲轉(zhuǎn)換方法和查詢處理方法已在原型系統(tǒng)中實現(xiàn),并利用實際的XML 文檔對系統(tǒng)進行性能測試,實驗證明,本文所提出的方法是可行而有效的。關(guān)鍵詞:XML;關(guān)系數(shù)據(jù)庫;關(guān)系存儲;路徑表達式;表連接中圖分類號:TP311AbstractXML has already become the standards of the expression, integration and exchange of the data on web. It has simple form and strong self-describing ability. Beside, it realizes the separation of the content, structure and expression, so that it is more adapt to data expression and exchange. During recent years, XML is widely used in various fields, and its data has abundantly appeared on web. In order to effectively analyze and process these XML data, research fellow posed various techniques of inquiring language and memorizing of XML. As now, relational database is the most mature data-managing technique, XML data-processing which is based on relation, is obviously a feasible and prospective way among all ways of memorizing and managing XML data, so it attracts extensive attention in the academia. However, as the data models are different, the process of XML data, by making used of the relational database, challenges traditional database technique.This paper does a thorough research on the relational storage based on path, and the querying process of the path expression of XML data, and find out that there are some disadvantages in the existing mappings from XML to the relational database. This paper proposed a new approach to storage and query XML document using relational databases, this approach can respectively store the XML data in different relational table according to whether the node of the document tree has text value or not. This approach is insensitive to the DTD model, and not necessary to design any index structures. Aim at this storage approach, this paper proposed specific transformational rules and algorithm, which is transform the core subset of path expression in XPath into SQL. The main contributions of this paper are summarized as follows:(1)A new kind of relational storage approach based on path for XML document is put forward. It can completely record the information of each node, side, and value of the XML document, in other words, the path information of all the attributes and elements that have text values, and the information such as id, parented, and level of each element, so accelerate the query and process.(2)For the relational storage approach based on path for XML document, this paper proposed a new query transformational rules and algorithm based on table join. It can transform different forms of path expression to SQL query sentences to be processed.(3)Further optimizing scheme is provided for the storage and query approaches mentioned above. The Path_Table is introduced to reduce storage redundancy of the same paths when the number of XML document levels is large; The method of string match is adopted to reduce the times of table join, and reduce the amount of join and I/O operations consequently.(4)The storage and query approaches brought forward in this paper have been implemented in a prototype system. The performance test of such approaches is carried out using practical XML documents. It is proved that the storage and query approaches brought forward in this paper are feasible and effective.Keywords: XML; relational database; relational storage; path expression; table join第一章 引 言隨著互聯(lián)網(wǎng)的發(fā)展,XML(Extensible Markup Language)已經(jīng)成為一種網(wǎng)上通用的數(shù)據(jù)存儲與信息交換的一種標準格式 fdfdfd,2,3。XML由于自身的規(guī)范性、靈活性、可擴展性和強大的語言表達能力,被普遍應(yīng)用于諸多領(lǐng)域,如數(shù)字圖書館、電子商務(wù)等。近年來,Web上已經(jīng)出現(xiàn)了海量的XML數(shù)據(jù),因此,如何有效地存儲和管理XML數(shù)據(jù)成為一個很有研究價值的重要課題。由此,研究和設(shè)計一個XML有效的存儲和查詢系統(tǒng)顯得格外緊迫和重要。1.1 國內(nèi)外研究現(xiàn)狀.在制定了XML的規(guī)范后,第一個要解決的問題就是如何存儲XML數(shù)據(jù),這是因為對XML 數(shù)據(jù)的查詢、檢索、更新等處理都是建立在一定的存儲模式基礎(chǔ)上的,因此它的存儲方式極大地影響了查詢處理的效率。但XML文檔數(shù)據(jù)是一種半結(jié)構(gòu)化數(shù)據(jù),利用現(xiàn)有的技術(shù)無法有效地存儲和管理它,因此XML數(shù)據(jù)的存儲就成了XML領(lǐng)域一個非常重要的研究方向。由于XML文檔是作為文本來編輯的,故可以把XML文檔作為一個普通的文本文件直接存儲在文件系統(tǒng)中,此方法最明顯的優(yōu)點就是實現(xiàn)簡單并且不需要專門的數(shù)據(jù)庫系統(tǒng)或者存儲管理器。但每次訪問XML文檔時都需要先進行解析,極大地影響了訪問效率。而且查詢時,整個被查詢的XML文檔必須常駐內(nèi)存,因此只適合于XML文檔內(nèi)容少、數(shù)量小的場合,它的局限性是顯而易見的。為此,國內(nèi)外學(xué)術(shù)界提出了許多不同的XML文檔的存儲策略4,5。目前管理XML數(shù)據(jù)有三種主要的方法,分別是原生XML數(shù)據(jù)庫、面向?qū)ο髷?shù)據(jù)庫和關(guān)系數(shù)據(jù)庫。研究者們采用原生XML數(shù)據(jù)庫(Native-XML)來存儲XML文檔6,7,8,這種數(shù)據(jù)庫的是完全用來存儲和操作XML數(shù)據(jù)的數(shù)據(jù)庫,存儲數(shù)據(jù)時不需要進行XML和數(shù)據(jù)庫的映射轉(zhuǎn)換。Native-XML維持原有XML文檔的數(shù)據(jù)結(jié)構(gòu)和相關(guān)的元數(shù)據(jù),而不關(guān)心數(shù)據(jù)的底層存儲結(jié)構(gòu)(關(guān)系數(shù)據(jù)庫或是面向?qū)ο髷?shù)據(jù)庫)。但目前它是一種全新的數(shù)據(jù)庫,技術(shù)還不夠成熟,傳統(tǒng)數(shù)據(jù)庫中原有數(shù)據(jù)也不能輕易地移植到新系統(tǒng)中。這樣人們就自然地想到利用成熟的數(shù)據(jù)庫技術(shù)來管理XML文檔,如面向?qū)ο髷?shù)據(jù)庫和關(guān)系數(shù)據(jù)庫。面向?qū)ο髷?shù)據(jù)庫9,10的數(shù)據(jù)模型與XML非常相似,它們都是層次樹,都用的父子關(guān)系來描述數(shù)據(jù)之間的關(guān)系,都支持用戶子定義復(fù)雜的數(shù)據(jù)類型,因此把XML映射到面向?qū)ο髷?shù)據(jù)庫中去是很容易的事,而且也可以利用對象查詢語言(OQL)實現(xiàn)對XML數(shù)據(jù)的結(jié)構(gòu)化查詢,因此用面向?qū)ο髷?shù)據(jù)庫存儲XML數(shù)據(jù)具有較高的存儲和查詢效率。但是它對于沒有DTD或Schema的XML文檔,無法定義映射規(guī)則。雖然文獻11STORED系統(tǒng)可以采用數(shù)據(jù)挖掘技術(shù)來抽取XML文檔的部分模式,但對于不符合模式的數(shù)據(jù)必須單獨處理,而且對于模式經(jīng)常變化的XML文檔,該方法基本上不可能實現(xiàn)。在關(guān)系數(shù)據(jù)庫方法中,XML數(shù)據(jù)被映射成關(guān)系表,同時,對XML數(shù)據(jù)的查詢轉(zhuǎn)換成SQL片段。同面向?qū)ο髷?shù)據(jù)庫和原生XML數(shù)據(jù)庫相比,關(guān)系數(shù)據(jù)庫具有數(shù)據(jù)結(jié)構(gòu)化、最低冗余度、較高的程序與數(shù)據(jù)獨立性、易于擴充、易于編制應(yīng)用程序等優(yōu)點11,12, 13, 14, 15, 16,17。它在存儲管理,查詢優(yōu)化等許多方面都較其他系統(tǒng)遠為成熟和穩(wěn)定,而且現(xiàn)在流行的數(shù)據(jù)庫絕大多數(shù)是關(guān)系數(shù)據(jù)庫(如SQL Server、DB2、Oracle等都是第三代的數(shù)據(jù)庫)。利用關(guān)系數(shù)據(jù)庫存儲XML數(shù)據(jù),最大的優(yōu)勢在于可以利用關(guān)系數(shù)據(jù)庫現(xiàn)有的存儲管理、并發(fā)控制、恢復(fù)、版本機制等技術(shù)有效地管理數(shù)據(jù),因此自然地成為了研究中的重點??墒抢藐P(guān)系型數(shù)據(jù)庫來存儲XML文檔也有一定的困難,這主要是因為關(guān)系型數(shù)據(jù)庫是完全結(jié)構(gòu)化的模型,所表達的信息非常規(guī)則,但它無法表達一些層次性質(zhì)的數(shù)據(jù),而XML則是半結(jié)構(gòu)化的模型,特別適合表達層次型的數(shù)據(jù),更具靈活性。要實現(xiàn)關(guān)系型數(shù)據(jù)庫存儲XML,必須將一個完整的XML文檔分割成多個相互關(guān)聯(lián)的數(shù)據(jù)表,對XML數(shù)據(jù)的查詢將涉及到多個表的訪問和連接操作。因此要實現(xiàn)XML文檔在關(guān)系型數(shù)據(jù)庫中的存儲,關(guān)鍵是要弄清楚XML結(jié)構(gòu)與關(guān)系型數(shù)據(jù)庫結(jié)構(gòu)之間的映射。目前學(xué)術(shù)界已經(jīng)提出許多XML的關(guān)系存儲策略,但經(jīng)過歸納,這些策略主要分為兩類18:第一類方法是結(jié)構(gòu)映射方法(Structure_mapping approach)14,它是根據(jù)XML的結(jié)構(gòu)(DTD或XML Schema)來生成關(guān)系模式,不同的文檔具有不同的存儲模式,因此這種方法為每一種XML文檔結(jié)構(gòu)或DTD都建立一種適應(yīng)于自己的關(guān)系模式,不同DTD的XML文檔就會生成不同的關(guān)系模式,而查詢又是基于存儲結(jié)構(gòu)的,因此如果關(guān)系表的數(shù)量和大小各不相同,在查詢處理時就會增加查詢的難度以及查詢代價。第二類方法是模式映射方法(Model_mapping approach)12,它是將XML文檔樹中的節(jié)點和邊映射為關(guān)系模式,得到的存儲模式與XML文檔結(jié)構(gòu)無關(guān),因此這種方第二章 XML的背景知識本文提出的基于關(guān)系數(shù)據(jù)庫的XML文檔的存儲查詢系統(tǒng)的處理對象是XML文檔,因此我們先熟悉一下XML及其相關(guān)技術(shù)。在本章中介紹XML的背景知識、XML的相關(guān)概念和查詢語言。2.1 XML的產(chǎn)生和特點今天,隨著互聯(lián)網(wǎng)技術(shù)的不斷向前發(fā)展,XML(Extensible Markup Language)已經(jīng)無處不在,它也逐漸成為信息交流的標準格式。XML的出現(xiàn),超越了HTML的許多限制,提供了一個能夠處理互聯(lián)網(wǎng)上全部數(shù)據(jù)的通用方法。XML是W3C(World Wide Web Consortium,萬維網(wǎng)協(xié)會)制定的用于描述數(shù)據(jù)文檔中數(shù)據(jù)的組織和安排的結(jié)構(gòu)的語言。正像它的英文名稱中所指出的那樣,它是一種標記語言。在這點上,它類似于HTML,但XML關(guān)注的不是數(shù)據(jù)在瀏覽器中如何布局和顯示,而是關(guān)注于怎樣描述數(shù)據(jù)內(nèi)容的組織和結(jié)構(gòu)以便數(shù)據(jù)在網(wǎng)絡(luò)上進行交流和處理。XML之所以稱為可擴展的標記語言,是因為它允許用戶自行設(shè)計有意義的標記,并且它所創(chuàng)建的文檔結(jié)構(gòu)具有良好的層次和約束,可以使管理系統(tǒng)精確的識別信息所在的位置,易于表達文檔數(shù)據(jù),且非常適合非結(jié)構(gòu)文檔的全文處理,尤其是可以利用XML文檔中的標記來確定在文檔中的哪一部分查找,因此它使得對XML文檔進行精確快速查詢成為可能。XML語言的優(yōu)秀特性主要體現(xiàn)在以下幾個方面27,28: (1)簡潔性:XML文檔是建立在基本嵌套結(jié)構(gòu)的一個個核心集的基礎(chǔ)之上,它的語法包含一個非常小的規(guī)則集,使人類和機器都能更容易地閱讀文檔。XML的語法解析器也非常容易創(chuàng)建。 (2)開放性和可擴展性:XML使用的是公開、非專有格式,允許不同專業(yè)開發(fā)與自己特定領(lǐng)域有關(guān)的標記語言,不受版權(quán)、專利、商業(yè)秘密等知識產(chǎn)權(quán)的限制。并且XML可以進行擴展,用戶可以利用它提供的DTD來交換數(shù)據(jù),驗證數(shù)據(jù)的有效性。(3)數(shù)據(jù)的結(jié)構(gòu)性:XML是可擴展的標記語言,這種格式不僅僅能夠以統(tǒng)一的格式定義數(shù)據(jù),甚至能夠封裝與表示數(shù)據(jù)。這一特點,使XML成為數(shù)據(jù)交換的中介者,在異構(gòu)語言、數(shù)據(jù)之間,異構(gòu)數(shù)據(jù)庫之間,提供交換信息的平臺。 (4)互操作性:XML可以在多種平臺上使用,而且可以用多種工具進行解釋而且它能夠支持世界大多數(shù)文字,因此它能超越不同的文化疆界交換信息。(5)純文本:幾乎任何工具都可以創(chuàng)建和編輯XML,使得程序可以更簡單讀寫它。(6)可格式化:可擴展樣式語言XSL可以指定如何顯示數(shù)據(jù)。數(shù)據(jù)和顯示分離,可以為同一數(shù)據(jù)制定不同的樣式表用于不同輸出。2.2 XML的文檔類型XML的精髓是基于信息描述的、能夠體現(xiàn)信息之間邏輯關(guān)系的、可以確保文件的易讀性和易搜索性的自定義標記。XML的主要用途有兩個,一個是作為元標記語言,定義各種實例標記語言標準;二是作為標準交換語言,擔(dān)負起描述交換數(shù)據(jù)的作用。XML在互聯(lián)網(wǎng)上扮演了“國際語言”的角色。在應(yīng)用程序中引入XML,一般會涉及三個文檔,包括普通的XML文檔(擴展名為.xml)、DTD文檔(擴展名為.dtd)、Schema(擴展名為.xsd),以下分別介紹。2.2.1 XML文檔XML文檔是基于文本格式的,它的最基本構(gòu)成包括XML聲明,處理指令和XML元素三部分27,28,另外還可以有注解,元素中還可以包含屬性或者子元素等。XML聲明一般出現(xiàn)在文檔開頭部分,包括版本號、可能的語言編碼、可選的文檔類型定義(DTD)等。格式正規(guī)的XML文檔的定義形式是一個簡單的層次樹,每個文檔都有一個而且只有一個根節(jié)點,它被稱為文檔實體或文檔根。根元素出現(xiàn)在聲明之后,它包括XML剩余部分。這一部分由元素、處理指令、屬性、注釋、實體引用等組成。XML規(guī)則要求文檔中的元素是XML標記的基本組成部分,它必須有其實標記符合對應(yīng)的結(jié)束標記符,而且應(yīng)逐層嵌套。屬性是元素的性質(zhì),屬性表述了元素的開始標簽內(nèi)的信息,由<?和?>字符組界定。XML中的注釋以<!-開始,以->結(jié)束,注釋可以出現(xiàn)在文檔的任何位置。<?XML version=”1.0” encoding=”gb2312”?><書籍><書名>紅樓夢</書名><作者>曹雪芹</作者><價格>100元</價格></書籍>另外,一個XML文檔必須滿足兩點:良構(gòu)(well-formed)和合法(valid)。遵循XML語法的文檔叫做良構(gòu)的文檔,可以表示一定的語義信息。而一份附帶有外部或內(nèi)部DTD或者XML Schema的良構(gòu)的XML文檔,并且XML文檔本體符合DTD或者XML Schema所聲明的文件格式的XML文檔才成為合法的XML文檔。關(guān)于DTD和XML Schema的內(nèi)容,在后面的章節(jié)中敘述。例2.1:以下是一個簡單的XML文檔示例。 這一示例清晰地描述了一本書的信息。由于XML主要應(yīng)用于交換和發(fā)布信息,所以在應(yīng)用XML之前,一般先定義DTD或Schema來規(guī)定XML應(yīng)遵循的格式,以示的XML文檔能真正用于數(shù)據(jù)共享與交換。第三章 基于路徑的存儲轉(zhuǎn)換方法在引言中,我們已經(jīng)比較了目前XML文檔的三種存儲方式,原生數(shù)據(jù)庫和面向?qū)ο髷?shù)據(jù)庫技術(shù)都不成熟,并存在著自身的一些缺陷,因此,本文采用關(guān)系數(shù)據(jù)庫作為存儲XML的支撐平臺。我們選擇關(guān)系數(shù)據(jù)庫主要有以下兩個原因:(1)關(guān)系數(shù)據(jù)庫技術(shù)成熟,使用廣泛,用戶不用為并發(fā)控制、安全性等問題作額外的工作;(2)在關(guān)系數(shù)據(jù)庫中的查詢優(yōu)化技術(shù)和處理機制已經(jīng)得到了充分的研究和發(fā)展。在實現(xiàn)對XML數(shù)據(jù)的存儲時,最為基礎(chǔ)且重要的一個步驟就是從XML文檔到關(guān)系表定義(即關(guān)系模式)的映射,目前從XML到關(guān)系數(shù)據(jù)庫的映射方法有很多,歸納起來分為結(jié)構(gòu)映射和模式映射兩種18。結(jié)構(gòu)映射利用XML文檔DTD或Schema的信息,將XML文檔的模式信息映射為關(guān)系模式,因此,不同模式的XML文檔或DTD就會對應(yīng)不同的關(guān)系模式,映射時生成的關(guān)系表的大小和數(shù)量也會隨著XML模式的不同而不同,這就為XML數(shù)據(jù)的查詢帶來了困難,加大了查詢時的查詢代價。目前Web上的信息大都是對XML靈活動態(tài)的使用,有的文檔的DTD是預(yù)先未知的,有的文檔結(jié)構(gòu)良好但卻沒有DTD,有的文檔的DTD是經(jīng)常變化的,因此,結(jié)構(gòu)映射不適合存儲大量動態(tài)的、或結(jié)構(gòu)易變的XML文檔。 針對這些缺點,本文提出了一種新的XML文檔基于路徑的關(guān)系存儲方法。該方法是一種模式映射,它使用固定的關(guān)系模式存儲各種結(jié)構(gòu)互異XML文檔,并且這種關(guān)系模式不考慮文檔DTD的信息,因此不受它變化的限制。由于這種映射方法產(chǎn)生的關(guān)系表結(jié)構(gòu)固定,因此在XML文檔查詢時,也帶來了極大的便利。下面我們具體闡述這種存儲方法的內(nèi)部機制。3.1 基于路徑的存儲結(jié)構(gòu)這種基于路徑的存儲方法全面地考慮了XML文檔樹中的每個節(jié)點的信息、邊信息和值信息,將XML文檔中所有的嵌套關(guān)系都采用了兩個表來存儲:一個叫值表(Value_Table),它用來存儲XML文檔中所有有文本值的元素/屬性的相關(guān)信息;另一個叫非值表(No_Value_Table),它用來記錄XML文檔中所有的無文本值的中間元素的相關(guān)信息。下面我們具體對這兩個表的結(jié)構(gòu)進行闡述。3.1.1 Value_Table在值表中,為了完整地記錄XML文檔中所有有值元素或?qū)傩缘母鞣N相關(guān)信息,該表中每一個記錄是標識每個有值節(jié)點的一個六元組< Id, Name, Value, Path, Parentid, Level>,即該表必須包括六列(或六個字段),如圖3.1所示。這六列中存儲的值分別為: Id:存儲該元素/屬性節(jié)點的序號,即對XML文檔樹中所有節(jié)點按先序遍歷所產(chǎn)生的序號,它反映先序遍歷文檔樹時該節(jié)點出現(xiàn)的次序;Name:存儲該元素/屬性名;Value :存儲該元素/屬性的值,本文對屬性和有值的元素進行同樣的處理,均把它們存儲在Value_Table中,把它們對應(yīng)的屬性/元素的文本值存儲在Value字段中;Path:記錄從根節(jié)點到該元素/屬性的路徑,即從根節(jié)點開始直到當(dāng)前節(jié)點,并由"/"連接的元素標簽的序列,我們簡稱為只包含父子關(guān)系的簡單路徑,它是以XPath的縮簡形式給出31;Parentid:存儲該元素/屬性的父節(jié)點的Id;Level:存儲該節(jié)點所在的層數(shù)。圖3. 13.2 XML文檔示例 <?xml version="1.0" standalone="yes"?><xml> <book id="1"> <title>T1</title> <author> <name>N1</name> <major>M1</major> <university>U1</university> </author> <press>P1</press> </book> <book id="2"> <title>T2</title> <author> <name>N2</name> <university>U2</university> </author> <press>P2</press> </book></xml>設(shè)置了值表后,XML文檔中的所有有值的節(jié)點的相關(guān)信息都被完整地保存下來,并不會出現(xiàn)任何缺損。為了更好地驗證這個表的正確性,我們以圖3.2中的XML文檔內(nèi)容為例,說明如何把它其中所有有值的節(jié)點信息存儲在值表中。作為一個連續(xù)使用的XML文檔示例,我們在下文中所涉及的所有存儲查詢方法都將以圖3.2中的文檔為例。對該XML文檔存儲時,首先對它進行先序遍歷,為文檔樹中的每個節(jié)點生成一個唯一標識它的id,并提取關(guān)于每個節(jié)點的所有有用信息,將它們通過代碼段全部存儲在到值表和非值表中。在這里,先介紹有值節(jié)點的存儲。圖3.3 值表的存儲結(jié)果圖3.3是該XML文檔在值表(Value_Table)中的存儲結(jié)果,在這個表中,把XML中的屬性和有值的元素同等對待。它記錄了該XML文檔中兩個屬性和九個有值的元素的所有信息,分別為先序遍歷的id,元素/屬性名以及它們的值,同時還記錄了它們所處的層數(shù)、父節(jié)點的id和從根節(jié)點到它們的路徑。3.1.2 No_Value_Table 圖3.4 非值表的各列信息圖3.5 非值表的存儲結(jié)果在關(guān)系數(shù)據(jù)庫中設(shè)置的第二個表為非值表,它記錄的是所有無值元素的相關(guān)信息。也就是說,它要完整地記錄XML樹中所有沒有值的中間節(jié)點和根節(jié)點的信息,所以No_Value_Table必須包括四列(即四個字段),列名分別為:Id、Name、Parentid、Level,如圖3.4所示。這四列中存儲的內(nèi)容都與值表中的含義相同。在這兩個表中,Id均為主鍵,其內(nèi)容不允許為空。設(shè)置了非值表后,XML文檔中的根元素和無值的中間元素都被記錄在內(nèi)。我們依然以圖3.2中的XML文檔為例,來考察它存儲結(jié)果的正確性。該XML在非值表中的存儲結(jié)果如圖3.5所示。從圖3.3和圖3.5中,我們可以清楚地看到XML文檔轉(zhuǎn)換為關(guān)系表的同時,它內(nèi)部所有元素/屬性的邊信息和值信息也被無損地映射到這兩個表中。這就完成了XML在關(guān)系數(shù)據(jù)庫中存儲和查詢的最為關(guān)鍵的一步,其后的查詢方法也是基于這種存儲結(jié)構(gòu)來實現(xiàn)的。結(jié) 束 語90年代以來,隨著Internet/Web的迅速發(fā)展,XML作為Web上數(shù)據(jù)表示、交換和集成的事實上的標準,為眾多的研究人員所研究。在各種XML處理方式中,關(guān)系數(shù)據(jù)庫由于其成熟的技術(shù)和高性能,使得利用關(guān)系數(shù)據(jù)庫來查詢處理XML數(shù)據(jù)受到了廣泛的關(guān)注,成為當(dāng)前XML數(shù)據(jù)處理的主流方式,并在各種領(lǐng)域中得到了廣泛使用。然而,XML和傳統(tǒng)的關(guān)系數(shù)據(jù)庫在數(shù)據(jù)模型、查詢語言和應(yīng)用場景等方面存在著較大的差異,利用關(guān)系數(shù)據(jù)庫來存儲和查詢XML給傳統(tǒng)數(shù)據(jù)庫技術(shù)帶來許多新的問題和挑戰(zhàn),如:如何有效地將XML數(shù)據(jù)庫存儲在關(guān)系數(shù)據(jù)庫中、如何更新存儲在關(guān)系數(shù)據(jù)庫中的XML數(shù)據(jù)、如何將它重新發(fā)布為XML文檔、如何在Web中有效地檢索XML文檔等等。本文集中研究了XML數(shù)據(jù)在關(guān)系數(shù)據(jù)庫中的規(guī)范化存儲、XML數(shù)據(jù)的查詢、XML存儲模式的優(yōu)化等關(guān)鍵技術(shù),提出了一種新的基于關(guān)系數(shù)據(jù)庫的XML文檔的存儲查詢方法,該方法用以無損地存儲XML數(shù)據(jù),并有效地處理了路徑表達式的查詢。并實現(xiàn)了相應(yīng)的系統(tǒng)原形。本文取得的主要研究成果如下:(1)研究了XML數(shù)據(jù)在關(guān)系數(shù)據(jù)庫中的存儲問題,提出了基于路徑的關(guān)系存儲方法,該方法采用固定的關(guān)系模式存儲XML文檔,適用于無DTD或DTD易變的動態(tài)XML數(shù)據(jù)的存儲。它能無損地記錄了XML文檔中的各節(jié)點信息、邊信息和值信息,即在關(guān)系表中存儲XML文檔中所有有值元素/屬性的路徑,以及各元素的id、Parentid、Level等信息,加快了查詢處理速度;(2)在基于路徑的存儲方法基礎(chǔ)上,將查詢XML數(shù)據(jù)的路徑表達式轉(zhuǎn)換為SQL語句,根據(jù)查詢路徑表達式中的連接符不同給出具體的轉(zhuǎn)換規(guī)則和算法;(3)提出了基于路徑的存儲查詢的優(yōu)化策略,對于一個給定的文檔,可根據(jù)它的層次結(jié)構(gòu)選擇相應(yīng)的存儲方法,從而在一定程度上減少存儲冗余;對于簡單線性路徑表達式,為了減少了結(jié)構(gòu)連接的次數(shù),提出一種基于串匹配的查詢方法,從而減少了I/O數(shù)量以及查詢代價;(4)在上述成果的基礎(chǔ)上,實現(xiàn)了原型系統(tǒng),并利用實際的XML文檔對其進行性能測試,實驗證明,該論文的方法切實可行?;陉P(guān)系數(shù)據(jù)庫處理XML數(shù)據(jù)是目前國際數(shù)據(jù)庫界最重要的研究方向之一,在這方面尚有許多問題亟待解決。本論文將來可能的工作包括:(1)該方法在查詢處理時,對/的響應(yīng)時間比較長,主要是由于表連接的次數(shù)參考文獻1S.Abiteboul,P.Buneman,D.SuciuData on the web:From Relational to Semistructured Data and XMLMSan Franciso,California:Morgan,Kaufmann Publishers,20002K.Aberer edsSpecial Section on Advanced XML Data ProcessingJACM SIGMOD Record,ACM Press,2001,30(3)3Alon Y HalevySpecial Issue on XML Data MamagementJIEEE Data Engineering Bulletin,IEEE Computer Society,2001,24(2)4許卓明,劉琴,董逸生基于關(guān)系數(shù)據(jù)庫的XML存儲技術(shù)評述J計算機工程與應(yīng)用,2003,39(10):197-2005黃瑩,楊明福XML文檔的存儲方法研究J計算機工程,2002,28(5):281-2836Thorsten Fiebig,Sven Helmer,Carl-Christian Kanne,etcAnatomy of a Native XML Base Management SystemCThe VLDB JournalDecember 2002,11(4):292-3147Xiaofeng Meng,Daofeng Luo,Mong Li Lee,etcOrient Store:A Schema Based Native XML Storage SystemCThe 29th VLDB ConferenceSeptember 2003:1057-10608李驥,陳福生Native-XML數(shù)據(jù)庫綜述J計算機工程與設(shè)計,2004,25(6):932-9349A. RennerXML Data and Object Databases:A Perfect CoupleCProceedings of the 17th International Conference on Data Engineering,Heidelberg,Germany,2001:143-14810Rick Catte et al,The object data standard:ODMG3.0MMorgan Kaufmann Publishers,200011A Deutsch,M Fernandez,D SuciuStoring Semistructured Data with STOREDCProceeding of ACM SIGMOD International Conf on Management of Data,Philadephia,PA,USA,ACM Press,1999:431-44212D.Florescu,D.KossmannStoring and Querying XML Data using an RDBMSJIEEE Data Engineering Bulletin,IEEE Computer Society,1999,22(3):27-34致 謝值此論文完成之際,我首先要衷心感謝我的導(dǎo)師,從最初收集資料、研究資料到系統(tǒng)的逐漸實現(xiàn),直至論文的最終完成,這其中每一個階段都傾注著老師的心血和汗水。沒有他嚴格精心的指導(dǎo)和細致入微的幫助,就沒有本文的順利完成,也沒有我三年來在科研和學(xué)習(xí)方面的進步。他嚴謹?shù)闹螌W(xué)態(tài)度和勤奮的工作作風(fēng)對我的影響,使我終身受益。除了在學(xué)業(yè)上對我悉心指導(dǎo)外,老師還在生活中給了我無微不至的關(guān)懷和幫助,這都終將成為我腦海中尤為深刻的記憶。最后,我要感謝我的家人在這多年的學(xué)習(xí)和生活中,對我學(xué)業(yè)的支持與理解,還有那博大無私的愛!這一切都將成為我終身受用的財富。

注意事項

本文(一種基于關(guān)系數(shù)據(jù)庫的XML文檔存儲和查詢的方法碩士畢業(yè)論文)為本站會員(1666****666)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因為網(wǎng)速或其他原因下載失敗請重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!