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

上傳人:1666****666 文檔編號:37236717 上傳時間:2021-11-02 格式:DOC 頁數(shù):18 大?。?63.03KB
收藏 版權申訴 舉報 下載
一種基于關系數(shù)據(jù)庫的XML文檔存儲和查詢的方法碩士畢業(yè)論文_第1頁
第1頁 / 共18頁
一種基于關系數(shù)據(jù)庫的XML文檔存儲和查詢的方法碩士畢業(yè)論文_第2頁
第2頁 / 共18頁
一種基于關系數(shù)據(jù)庫的XML文檔存儲和查詢的方法碩士畢業(yè)論文_第3頁
第3頁 / 共18頁

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《一種基于關系數(shù)據(jù)庫的XML文檔存儲和查詢的方法碩士畢業(yè)論文》由會員分享,可在線閱讀,更多相關《一種基于關系數(shù)據(jù)庫的XML文檔存儲和查詢的方法碩士畢業(yè)論文(18頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、一種基于關系數(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

2、 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

3、 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 ex

4、pression 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 p

5、rocessor 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)了內容、結構和表現(xiàn)三者的分離,更適合于數(shù)據(jù)表示和交換。近年來,XML在各個領域得到了廣泛的使用,Web上已經(jīng)涌現(xiàn)了大量的XML數(shù)據(jù)。為了有效地加工、分析和處理XML數(shù)據(jù),國內外學者已經(jīng)提出了各種XML的查詢語言和存儲管理技術。由于關

6、系數(shù)據(jù)庫是目前最成熟的一種數(shù)據(jù)管理技術,在存儲和管理XML數(shù)據(jù)的各種方式中,基于關系數(shù)據(jù)庫的XML數(shù)據(jù)存儲和處理技術顯然是一種可行而有效的方式,并在學術界受到了廣泛的關注。然而,由于數(shù)據(jù)模型的差異,利用關系數(shù)據(jù)庫存儲和查詢XML數(shù)據(jù)給傳統(tǒng)數(shù)據(jù)庫技術帶來了許多新的挑戰(zhàn)。本文對XML數(shù)據(jù)的關系存儲、路徑表達式的查詢處理等方面進行了深入的研究和探討,發(fā)現(xiàn)了目前已有的XML數(shù)據(jù)的關系存儲方法中的不足之處。提出了一種新的利用關系數(shù)據(jù)庫存儲和查詢XML數(shù)據(jù)的方法,這種方法將XML文檔樹中有文本值的節(jié)點和文本值的節(jié)點分別存儲在兩個關系表中,它不關心文檔DTD的模式信息,也不需要建立任何索引結構。針對這種存儲

7、方法的特點,本文提出將XPath路徑表達式的核心子集轉換成SQL語句的轉換規(guī)則和算法。具體來說,本文的主要工作如下:(1)提出了一種新的XML數(shù)據(jù)的關系存儲方法。這種方法完整無損地記錄了XML文檔中的各節(jié)點信息、邊信息和值信息,即在關系表中存儲XML文檔中所有有值元素/屬性的路徑,以及各元素的id、Parentid、Level等信息,加快了查詢處理的速度。(2)針對我們的存儲結構,提出了新的基于表連接的查詢轉換規(guī)則和算法。這種查詢算法可以將不同形式的路徑表達式轉化為SQL查詢語句來處理。 (3)對以上的存儲和查詢方法提出進一步的優(yōu)化方案。當XML文檔層次較多時,引入一個路徑關系表來減少對相同路

8、徑的存儲冗余;當查詢路徑表達式為線性結構時,采用串匹配的方法來減少表連接次數(shù),從而減少連接操作和I/O數(shù)量。(4)論文提出的存儲轉換方法和查詢處理方法已在原型系統(tǒng)中實現(xiàn),并利用實際的XML 文檔對系統(tǒng)進行性能測試,實驗證明,本文所提出的方法是可行而有效的。關鍵詞:XML;關系數(shù)據(jù)庫;關系存儲;路徑表達式;表連接中圖分類號:TP311AbstractXML has already become the standards of the expression, integration and exchange of the data on web. It has simple form and s

9、trong 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 analyz

10、e 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 me

11、morizing 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 b

12、ased 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 r

13、espectively 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 transform

14、ational 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

15、 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 pat

16、h 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

17、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

18、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; rel

19、ational 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ī)范性、靈活性、可擴展性和強大的語言表達能力,被普遍應用于諸多領域,如數(shù)字圖書館、電子商務等。近年來,Web上已經(jīng)出現(xiàn)了海量的XML數(shù)據(jù),因此,如何有效地存儲和管理XML數(shù)據(jù)成為一個很有研究價值的重要課題。由此,研究和設計一個XML有效的存儲和查詢系統(tǒng)顯得格外緊迫和重要。1.1 國內外研究現(xiàn)狀.在制定了XML的規(guī)范后,第一

20、個要解決的問題就是如何存儲XML數(shù)據(jù),這是因為對XML 數(shù)據(jù)的查詢、檢索、更新等處理都是建立在一定的存儲模式基礎上的,因此它的存儲方式極大地影響了查詢處理的效率。但XML文檔數(shù)據(jù)是一種半結構化數(shù)據(jù),利用現(xiàn)有的技術無法有效地存儲和管理它,因此XML數(shù)據(jù)的存儲就成了XML領域一個非常重要的研究方向。由于XML文檔是作為文本來編輯的,故可以把XML文檔作為一個普通的文本文件直接存儲在文件系統(tǒng)中,此方法最明顯的優(yōu)點就是實現(xiàn)簡單并且不需要專門的數(shù)據(jù)庫系統(tǒng)或者存儲管理器。但每次訪問XML文檔時都需要先進行解析,極大地影響了訪問效率。而且查詢時,整個被查詢的XML文檔必須常駐內存,因此只適合于XML文檔內容

21、少、數(shù)量小的場合,它的局限性是顯而易見的。為此,國內外學術界提出了許多不同的XML文檔的存儲策略4,5。目前管理XML數(shù)據(jù)有三種主要的方法,分別是原生XML數(shù)據(jù)庫、面向對象數(shù)據(jù)庫和關系數(shù)據(jù)庫。研究者們采用原生XML數(shù)據(jù)庫(Native-XML)來存儲XML文檔6,7,8,這種數(shù)據(jù)庫的是完全用來存儲和操作XML數(shù)據(jù)的數(shù)據(jù)庫,存儲數(shù)據(jù)時不需要進行XML和數(shù)據(jù)庫的映射轉換。Native-XML維持原有XML文檔的數(shù)據(jù)結構和相關的元數(shù)據(jù),而不關心數(shù)據(jù)的底層存儲結構(關系數(shù)據(jù)庫或是面向對象數(shù)據(jù)庫)。但目前它是一種全新的數(shù)據(jù)庫,技術還不夠成熟,傳統(tǒng)數(shù)據(jù)庫中原有數(shù)據(jù)也不能輕易地移植到新系統(tǒng)中。這樣人們就自然

22、地想到利用成熟的數(shù)據(jù)庫技術來管理XML文檔,如面向對象數(shù)據(jù)庫和關系數(shù)據(jù)庫。面向對象數(shù)據(jù)庫9,10的數(shù)據(jù)模型與XML非常相似,它們都是層次樹,都用的父子關系來描述數(shù)據(jù)之間的關系,都支持用戶子定義復雜的數(shù)據(jù)類型,因此把XML映射到面向對象數(shù)據(jù)庫中去是很容易的事,而且也可以利用對象查詢語言(OQL)實現(xiàn)對XML數(shù)據(jù)的結構化查詢,因此用面向對象數(shù)據(jù)庫存儲XML數(shù)據(jù)具有較高的存儲和查詢效率。但是它對于沒有DTD或Schema的XML文檔,無法定義映射規(guī)則。雖然文獻11STORED系統(tǒng)可以采用數(shù)據(jù)挖掘技術來抽取XML文檔的部分模式,但對于不符合模式的數(shù)據(jù)必須單獨處理,而且對于模式經(jīng)常變化的XML文檔,該方

23、法基本上不可能實現(xiàn)。在關系數(shù)據(jù)庫方法中,XML數(shù)據(jù)被映射成關系表,同時,對XML數(shù)據(jù)的查詢轉換成SQL片段。同面向對象數(shù)據(jù)庫和原生XML數(shù)據(jù)庫相比,關系數(shù)據(jù)庫具有數(shù)據(jù)結構化、最低冗余度、較高的程序與數(shù)據(jù)獨立性、易于擴充、易于編制應用程序等優(yōu)點11,12, 13, 14, 15, 16,17。它在存儲管理,查詢優(yōu)化等許多方面都較其他系統(tǒng)遠為成熟和穩(wěn)定,而且現(xiàn)在流行的數(shù)據(jù)庫絕大多數(shù)是關系數(shù)據(jù)庫(如SQL Server、DB2、Oracle等都是第三代的數(shù)據(jù)庫)。利用關系數(shù)據(jù)庫存儲XML數(shù)據(jù),最大的優(yōu)勢在于可以利用關系數(shù)據(jù)庫現(xiàn)有的存儲管理、并發(fā)控制、恢復、版本機制等技術有效地管理數(shù)據(jù),因此自然地成為

24、了研究中的重點??墒抢藐P系型數(shù)據(jù)庫來存儲XML文檔也有一定的困難,這主要是因為關系型數(shù)據(jù)庫是完全結構化的模型,所表達的信息非常規(guī)則,但它無法表達一些層次性質的數(shù)據(jù),而XML則是半結構化的模型,特別適合表達層次型的數(shù)據(jù),更具靈活性。要實現(xiàn)關系型數(shù)據(jù)庫存儲XML,必須將一個完整的XML文檔分割成多個相互關聯(lián)的數(shù)據(jù)表,對XML數(shù)據(jù)的查詢將涉及到多個表的訪問和連接操作。因此要實現(xiàn)XML文檔在關系型數(shù)據(jù)庫中的存儲,關鍵是要弄清楚XML結構與關系型數(shù)據(jù)庫結構之間的映射。目前學術界已經(jīng)提出許多XML的關系存儲策略,但經(jīng)過歸納,這些策略主要分為兩類18:第一類方法是結構映射方法(Structure_mapp

25、ing approach)14,它是根據(jù)XML的結構(DTD或XML Schema)來生成關系模式,不同的文檔具有不同的存儲模式,因此這種方法為每一種XML文檔結構或DTD都建立一種適應于自己的關系模式,不同DTD的XML文檔就會生成不同的關系模式,而查詢又是基于存儲結構的,因此如果關系表的數(shù)量和大小各不相同,在查詢處理時就會增加查詢的難度以及查詢代價。第二類方法是模式映射方法(Model_mapping approach)12,它是將XML文檔樹中的節(jié)點和邊映射為關系模式,得到的存儲模式與XML文檔結構無關,因此這種方第二章 XML的背景知識本文提出的基于關系數(shù)據(jù)庫的XML文檔的存儲查詢系統(tǒng)

26、的處理對象是XML文檔,因此我們先熟悉一下XML及其相關技術。在本章中介紹XML的背景知識、XML的相關概念和查詢語言。2.1 XML的產(chǎn)生和特點今天,隨著互聯(lián)網(wǎng)技術的不斷向前發(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ù)的組織和安排的結構的語言。正像它的英文名稱中所指出的那樣,它是一種標記語言。在這點上,它類似于HTML,但XML關注

27、的不是數(shù)據(jù)在瀏覽器中如何布局和顯示,而是關注于怎樣描述數(shù)據(jù)內容的組織和結構以便數(shù)據(jù)在網(wǎng)絡上進行交流和處理。XML之所以稱為可擴展的標記語言,是因為它允許用戶自行設計有意義的標記,并且它所創(chuàng)建的文檔結構具有良好的層次和約束,可以使管理系統(tǒng)精確的識別信息所在的位置,易于表達文檔數(shù)據(jù),且非常適合非結構文檔的全文處理,尤其是可以利用XML文檔中的標記來確定在文檔中的哪一部分查找,因此它使得對XML文檔進行精確快速查詢成為可能。XML語言的優(yōu)秀特性主要體現(xiàn)在以下幾個方面27,28: (1)簡潔性:XML文檔是建立在基本嵌套結構的一個個核心集的基礎之上,它的語法包含一個非常小的規(guī)則集,使人類和機器都能更容

28、易地閱讀文檔。XML的語法解析器也非常容易創(chuàng)建。 (2)開放性和可擴展性:XML使用的是公開、非專有格式,允許不同專業(yè)開發(fā)與自己特定領域有關的標記語言,不受版權、專利、商業(yè)秘密等知識產(chǎn)權的限制。并且XML可以進行擴展,用戶可以利用它提供的DTD來交換數(shù)據(jù),驗證數(shù)據(jù)的有效性。(3)數(shù)據(jù)的結構性:XML是可擴展的標記語言,這種格式不僅僅能夠以統(tǒng)一的格式定義數(shù)據(jù),甚至能夠封裝與表示數(shù)據(jù)。這一特點,使XML成為數(shù)據(jù)交換的中介者,在異構語言、數(shù)據(jù)之間,異構數(shù)據(jù)庫之間,提供交換信息的平臺。 (4)互操作性:XML可以在多種平臺上使用,而且可以用多種工具進行解釋而且它能夠支持世界大多數(shù)文字,因此它能超越不同

29、的文化疆界交換信息。(5)純文本:幾乎任何工具都可以創(chuàng)建和編輯XML,使得程序可以更簡單讀寫它。(6)可格式化:可擴展樣式語言XSL可以指定如何顯示數(shù)據(jù)。數(shù)據(jù)和顯示分離,可以為同一數(shù)據(jù)制定不同的樣式表用于不同輸出。2.2 XML的文檔類型XML的精髓是基于信息描述的、能夠體現(xiàn)信息之間邏輯關系的、可以確保文件的易讀性和易搜索性的自定義標記。XML的主要用途有兩個,一個是作為元標記語言,定義各種實例標記語言標準;二是作為標準交換語言,擔負起描述交換數(shù)據(jù)的作用。XML在互聯(lián)網(wǎng)上扮演了“國際語言”的角色。在應用程序中引入XML,一般會涉及三個文檔,包括普通的XML文檔(擴展名為.xml)、DTD文檔(

30、擴展名為.dtd)、Schema(擴展名為.xsd),以下分別介紹。2.2.1 XML文檔XML文檔是基于文本格式的,它的最基本構成包括XML聲明,處理指令和XML元素三部分27,28,另外還可以有注解,元素中還可以包含屬性或者子元素等。XML聲明一般出現(xiàn)在文檔開頭部分,包括版本號、可能的語言編碼、可選的文檔類型定義(DTD)等。格式正規(guī)的XML文檔的定義形式是一個簡單的層次樹,每個文檔都有一個而且只有一個根節(jié)點,它被稱為文檔實體或文檔根。根元素出現(xiàn)在聲明之后,它包括XML剩余部分。這一部分由元素、處理指令、屬性、注釋、實體引用等組成。XML規(guī)則要求文檔中的元素是XML標記的基本組成部分,它必

31、須有其實標記符合對應的結束標記符,而且應逐層嵌套。屬性是元素的性質,屬性表述了元素的開始標簽內的信息,由字符組界定。XML中的注釋以結束,注釋可以出現(xiàn)在文檔的任何位置。紅樓夢曹雪芹100元另外,一個XML文檔必須滿足兩點:良構(well-formed)和合法(valid)。遵循XML語法的文檔叫做良構的文檔,可以表示一定的語義信息。而一份附帶有外部或內部DTD或者XML Schema的良構的XML文檔,并且XML文檔本體符合DTD或者XML Schema所聲明的文件格式的XML文檔才成為合法的XML文檔。關于DTD和XML Schema的內容,在后面的章節(jié)中敘述。例2.1:以下是一個簡單的XM

32、L文檔示例。 這一示例清晰地描述了一本書的信息。由于XML主要應用于交換和發(fā)布信息,所以在應用XML之前,一般先定義DTD或Schema來規(guī)定XML應遵循的格式,以示的XML文檔能真正用于數(shù)據(jù)共享與交換。第三章 基于路徑的存儲轉換方法在引言中,我們已經(jīng)比較了目前XML文檔的三種存儲方式,原生數(shù)據(jù)庫和面向對象數(shù)據(jù)庫技術都不成熟,并存在著自身的一些缺陷,因此,本文采用關系數(shù)據(jù)庫作為存儲XML的支撐平臺。我們選擇關系數(shù)據(jù)庫主要有以下兩個原因:(1)關系數(shù)據(jù)庫技術成熟,使用廣泛,用戶不用為并發(fā)控制、安全性等問題作額外的工作;(2)在關系數(shù)據(jù)庫中的查詢優(yōu)化技術和處理機制已經(jīng)得到了充分的研究和發(fā)展。在實現(xiàn)

33、對XML數(shù)據(jù)的存儲時,最為基礎且重要的一個步驟就是從XML文檔到關系表定義(即關系模式)的映射,目前從XML到關系數(shù)據(jù)庫的映射方法有很多,歸納起來分為結構映射和模式映射兩種18。結構映射利用XML文檔DTD或Schema的信息,將XML文檔的模式信息映射為關系模式,因此,不同模式的XML文檔或DTD就會對應不同的關系模式,映射時生成的關系表的大小和數(shù)量也會隨著XML模式的不同而不同,這就為XML數(shù)據(jù)的查詢帶來了困難,加大了查詢時的查詢代價。目前Web上的信息大都是對XML靈活動態(tài)的使用,有的文檔的DTD是預先未知的,有的文檔結構良好但卻沒有DTD,有的文檔的DTD是經(jīng)常變化的,因此,結構映射不

34、適合存儲大量動態(tài)的、或結構易變的XML文檔。 針對這些缺點,本文提出了一種新的XML文檔基于路徑的關系存儲方法。該方法是一種模式映射,它使用固定的關系模式存儲各種結構互異XML文檔,并且這種關系模式不考慮文檔DTD的信息,因此不受它變化的限制。由于這種映射方法產(chǎn)生的關系表結構固定,因此在XML文檔查詢時,也帶來了極大的便利。下面我們具體闡述這種存儲方法的內部機制。3.1 基于路徑的存儲結構這種基于路徑的存儲方法全面地考慮了XML文檔樹中的每個節(jié)點的信息、邊信息和值信息,將XML文檔中所有的嵌套關系都采用了兩個表來存儲:一個叫值表(Value_Table),它用來存儲XML文檔中所有有文本值的元

35、素/屬性的相關信息;另一個叫非值表(No_Value_Table),它用來記錄XML文檔中所有的無文本值的中間元素的相關信息。下面我們具體對這兩個表的結構進行闡述。3.1.1 Value_Table在值表中,為了完整地記錄XML文檔中所有有值元素或屬性的各種相關信息,該表中每一個記錄是標識每個有值節(jié)點的一個六元組,即該表必須包括六列(或六個字段),如圖3.1所示。這六列中存儲的值分別為: Id:存儲該元素/屬性節(jié)點的序號,即對XML文檔樹中所有節(jié)點按先序遍歷所產(chǎn)生的序號,它反映先序遍歷文檔樹時該節(jié)點出現(xiàn)的次序;Name:存儲該元素/屬性名;Value :存儲該元素/屬性的值,本文對屬性和有值的

36、元素進行同樣的處理,均把它們存儲在Value_Table中,把它們對應的屬性/元素的文本值存儲在Value字段中;Path:記錄從根節(jié)點到該元素/屬性的路徑,即從根節(jié)點開始直到當前節(jié)點,并由/連接的元素標簽的序列,我們簡稱為只包含父子關系的簡單路徑,它是以XPath的縮簡形式給出31;Parentid:存儲該元素/屬性的父節(jié)點的Id;Level:存儲該節(jié)點所在的層數(shù)。圖3. 13.2 XML文檔示例 T1 N1 M1 U1 P1 T2 N2 U2 P2 設置了值表后,XML文檔中的所有有值的節(jié)點的相關信息都被完整地保存下來,并不會出現(xiàn)任何缺損。為了更好地驗證這個表的正確性,我們以圖3.2中的X

37、ML文檔內容為例,說明如何把它其中所有有值的節(jié)點信息存儲在值表中。作為一個連續(xù)使用的XML文檔示例,我們在下文中所涉及的所有存儲查詢方法都將以圖3.2中的文檔為例。對該XML文檔存儲時,首先對它進行先序遍歷,為文檔樹中的每個節(jié)點生成一個唯一標識它的id,并提取關于每個節(jié)點的所有有用信息,將它們通過代碼段全部存儲在到值表和非值表中。在這里,先介紹有值節(jié)點的存儲。圖3.3 值表的存儲結果圖3.3是該XML文檔在值表(Value_Table)中的存儲結果,在這個表中,把XML中的屬性和有值的元素同等對待。它記錄了該XML文檔中兩個屬性和九個有值的元素的所有信息,分別為先序遍歷的id,元素/屬性名以及

38、它們的值,同時還記錄了它們所處的層數(shù)、父節(jié)點的id和從根節(jié)點到它們的路徑。3.1.2 No_Value_Table 圖3.4 非值表的各列信息圖3.5 非值表的存儲結果在關系數(shù)據(jù)庫中設置的第二個表為非值表,它記錄的是所有無值元素的相關信息。也就是說,它要完整地記錄XML樹中所有沒有值的中間節(jié)點和根節(jié)點的信息,所以No_Value_Table必須包括四列(即四個字段),列名分別為:Id、Name、Parentid、Level,如圖3.4所示。這四列中存儲的內容都與值表中的含義相同。在這兩個表中,Id均為主鍵,其內容不允許為空。設置了非值表后,XML文檔中的根元素和無值的中間元素都被記錄在內。我們

39、依然以圖3.2中的XML文檔為例,來考察它存儲結果的正確性。該XML在非值表中的存儲結果如圖3.5所示。從圖3.3和圖3.5中,我們可以清楚地看到XML文檔轉換為關系表的同時,它內部所有元素/屬性的邊信息和值信息也被無損地映射到這兩個表中。這就完成了XML在關系數(shù)據(jù)庫中存儲和查詢的最為關鍵的一步,其后的查詢方法也是基于這種存儲結構來實現(xiàn)的。結 束 語90年代以來,隨著Internet/Web的迅速發(fā)展,XML作為Web上數(shù)據(jù)表示、交換和集成的事實上的標準,為眾多的研究人員所研究。在各種XML處理方式中,關系數(shù)據(jù)庫由于其成熟的技術和高性能,使得利用關系數(shù)據(jù)庫來查詢處理XML數(shù)據(jù)受到了廣泛的關注,

40、成為當前XML數(shù)據(jù)處理的主流方式,并在各種領域中得到了廣泛使用。然而,XML和傳統(tǒng)的關系數(shù)據(jù)庫在數(shù)據(jù)模型、查詢語言和應用場景等方面存在著較大的差異,利用關系數(shù)據(jù)庫來存儲和查詢XML給傳統(tǒng)數(shù)據(jù)庫技術帶來許多新的問題和挑戰(zhàn),如:如何有效地將XML數(shù)據(jù)庫存儲在關系數(shù)據(jù)庫中、如何更新存儲在關系數(shù)據(jù)庫中的XML數(shù)據(jù)、如何將它重新發(fā)布為XML文檔、如何在Web中有效地檢索XML文檔等等。本文集中研究了XML數(shù)據(jù)在關系數(shù)據(jù)庫中的規(guī)范化存儲、XML數(shù)據(jù)的查詢、XML存儲模式的優(yōu)化等關鍵技術,提出了一種新的基于關系數(shù)據(jù)庫的XML文檔的存儲查詢方法,該方法用以無損地存儲XML數(shù)據(jù),并有效地處理了路徑表達式的查詢。

41、并實現(xiàn)了相應的系統(tǒng)原形。本文取得的主要研究成果如下:(1)研究了XML數(shù)據(jù)在關系數(shù)據(jù)庫中的存儲問題,提出了基于路徑的關系存儲方法,該方法采用固定的關系模式存儲XML文檔,適用于無DTD或DTD易變的動態(tài)XML數(shù)據(jù)的存儲。它能無損地記錄了XML文檔中的各節(jié)點信息、邊信息和值信息,即在關系表中存儲XML文檔中所有有值元素/屬性的路徑,以及各元素的id、Parentid、Level等信息,加快了查詢處理速度;(2)在基于路徑的存儲方法基礎上,將查詢XML數(shù)據(jù)的路徑表達式轉換為SQL語句,根據(jù)查詢路徑表達式中的連接符不同給出具體的轉換規(guī)則和算法;(3)提出了基于路徑的存儲查詢的優(yōu)化策略,對于一個給定的

42、文檔,可根據(jù)它的層次結構選擇相應的存儲方法,從而在一定程度上減少存儲冗余;對于簡單線性路徑表達式,為了減少了結構連接的次數(shù),提出一種基于串匹配的查詢方法,從而減少了I/O數(shù)量以及查詢代價;(4)在上述成果的基礎上,實現(xiàn)了原型系統(tǒng),并利用實際的XML文檔對其進行性能測試,實驗證明,該論文的方法切實可行?;陉P系數(shù)據(jù)庫處理XML數(shù)據(jù)是目前國際數(shù)據(jù)庫界最重要的研究方向之一,在這方面尚有許多問題亟待解決。本論文將來可能的工作包括:(1)該方法在查詢處理時,對/的響應時間比較長,主要是由于表連接的次數(shù)參考文獻1S.Abiteboul,P.Buneman,D.SuciuData on the web:Fr

43、om 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 Socie

44、ty,2001,24(2)4許卓明,劉琴,董逸生基于關系數(shù)據(jù)庫的XML存儲技術評述J計算機工程與應用,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,etcO

45、rient Store:A Schema Based Native XML Storage SystemCThe 29th VLDB ConferenceSeptember 2003:1057-10608李驥,陳福生Native-XML數(shù)據(jù)庫綜述J計算機工程與設計,2004,25(6):932-9349A. RennerXML Data and Object Databases:A Perfect CoupleCProceedings of the 17th International Conference on Data Engineering,Heidelberg,Germany,2001

46、: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

47、and Querying XML Data using an RDBMSJIEEE Data Engineering Bulletin,IEEE Computer Society,1999,22(3):27-34致 謝值此論文完成之際,我首先要衷心感謝我的導師,從最初收集資料、研究資料到系統(tǒng)的逐漸實現(xiàn),直至論文的最終完成,這其中每一個階段都傾注著老師的心血和汗水。沒有他嚴格精心的指導和細致入微的幫助,就沒有本文的順利完成,也沒有我三年來在科研和學習方面的進步。他嚴謹?shù)闹螌W態(tài)度和勤奮的工作作風對我的影響,使我終身受益。除了在學業(yè)上對我悉心指導外,老師還在生活中給了我無微不至的關懷和幫助,這都終將成為我腦海中尤為深刻的記憶。最后,我要感謝我的家人在這多年的學習和生活中,對我學業(yè)的支持與理解,還有那博大無私的愛!這一切都將成為我終身受用的財富。

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

相關資源

更多
正為您匹配相似的精品文檔
關于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

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

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


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