硕士论文-基于关系数据库的XML数据存储技术的研究_第1页
硕士论文-基于关系数据库的XML数据存储技术的研究_第2页
硕士论文-基于关系数据库的XML数据存储技术的研究_第3页
硕士论文-基于关系数据库的XML数据存储技术的研究_第4页
硕士论文-基于关系数据库的XML数据存储技术的研究_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、北京工业大学硕士学位论文基于关系数据库的XML数据存储技术的研究姓名:吕云霞申请学位级别:硕士专业:计算机应用技术指导教师:朱青20210501,删,订舢,;独创性声明本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得北京工业大学或其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何奉献均已在论文中作了明确的说明并表示了谢意。签名:曼亟!萑日期:墨:互关于论文使用授权的说明本人完全了解北京工业大学有关保存、使用学位论文的规定,即:学校有权保存送

2、交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部或部分内容,可以采用影印、缩印或其他复制手段保存论文。保密的论文在解密后应遵守此规定签名:量垂!趁导师签名:牛鼋第章绪论研究背景第章绪论近年来,互联网得到了迅猛开展,它提供了全球范围的网络互联与通信功能,其丰富的信息资源给人们的学习和生活带来了极大的便利。作为互联网最主要应用的实际上已成为最大的信息资源库。电子商务、电子出版、远程教育等基于的新兴领域的全面兴起使得传统的资源更加复杂化和多样化。人们对效劳功能的需求也到达更高的标准,如用户需要对进行智能化的语义搜索和对数据按照不同的需求进行多样化显示等个性化效劳;公司和企业要为客户创立和

3、分发大量有价值的文档信息,以及对不同平台、不同格式的数据源进行有效的数据交换和集成等等。在这种大环境下,以简单易学、灵活通用著称的,随着网络应用的日益广泛,局限性逐渐明显,越来越不能适应作为上信息交换和表示的工具了。作为的一个优化子集,它不像那样事先定义好一组标签,而是提供了一个标准,只要遵循这个标准,你可以灵活的定义自己的标记。不仅能够存储数据,而且能够存储结构和语义信息,具有通用的数据表示能力,能表示结构化、半结构化及元结构化数据,可以描述不同种类应用软件中的数据,这使其在数据交互和信息共享方面拥有天然的优势,成为上数据表示与交换的通用标准。与相比主要有以下几点优势:简单,具有自我描述能力

4、。通过语义标记来说明数据的语义,容易理解且易于解析。这使得具有机器可读性,具体应用可以按照各种方式解析、过滤及重构文档。具有灵活性。的标记是预定义的,具有固定的名称及语义,不能扩展,而的标记可由用户定义,可以被任意的扩展。的嵌套结构可以表示各种复杂的数据结构,各种格式的数据都可以较容易的转换为数据,这使得非常适合于信息的发布和集成。具有平台独立性。可用于不同类型、系统间的交换格式的传送,从而简化了从一个应用程序到另一个应用程序之间传递信息的工作。实现了结构、内容和显示相别离。文档类型定义或模式描述了文档的结构,即元素间的嵌套关系。文档实例只描述数据,使得数据具有独立性,而文档的显示具有多样性,

5、北京工业大学丁学硕士学位论文文档的显示是由文档配合来完成的,对同一个文档可以根据应用的需要以不同的风格显示。由于的诸多优势,出现大量的数据,并且保持着快速增长,使得对有效存储和操作方面的研究日益受到重视。同时由于关系数据库技术的大力开展、成熟的技术和广泛的应用,使得文档的关系化存储成为研究的一大热点。本文所研究的就是基于的文档的关系化存储技术,提出了一种映射的设计方案,并基于该方案实现了一个原型系统来验证映射技术的可行性。研究现状与意义目前,组织制定的系列标准已成为新一代的标准,的使用已经普及到应用的各个方面,随着大量数据的出现,对有效存储和操作方面的研究也越来越受到人们的重视。微软、等计算机

6、业的巨头都对它的前景看好,大批的数据库研究者们也对技术展开了深入的研究,国外的许多大学、研究机构和各种基金都已经或正在开展数据处理技术的研究。数据管理技术作为技术研究热点从某种意义上也说明了有许多问题尚未解决。正因为这样,说明数据管理相关的各种技术都有待开展。目前,在数据管理方面需解决的前沿问题主要有:数据的存储。的数据存储是处理数据的首要问题。的主要存储方式为文件系统【】,关系数据库,面向对象数据库【】和半结构化数据仓库【】等。数据的查询。数据的查询方法取决于的存储方式。当前,针对查询处理的研究主要有两种思路:一是将基于关系或对象数据库来研究文档的查询处理,这种方法的数据查询要依据不同的表存

7、储结构采用不同的方法,最后还要将查询结果以格式显示:二是将看作文档,基于内容来研究的查询处理及优化,其中关键工作包括索引的设计、查询处理的逻辑及物理优化等。视图。在环境下,视图显得比传统数据库中的视图更加重要。面向电子商务应用,需要建立的主动视图。索引。索引作用至关重要,数据是树结构,单纯的值索引远不够用,需要新的索引类型。在这方面作了许多研究【,这里参考,列举出主要的一些索引技术。值索引:可以根据元素名或属性名和值上的谓词条第章绪论件找到满足条件的元素或属性。父子索引:可以根据元素名找到所有由该元素名连接的父子元素对。路径索引:可以根据路径找到所有该路径可以到达的元素。在数据管理的诸多研究热

8、点中,数据存储是数据处理其他问题研究的根底,因此显得尤为重要。几大关系数据库厂商在这方面的研究已经取得了一些进展:当前对的存储支持得较好的关系数据库主要有,和,并不断有新产品问世。例如,微软公司的提供一种新的数据类型,使在数据库中存储片段或文件成为可能。年夏大,发布了代号为“毒蛇的,它支持纯文档,通过层次型与关系型的混合管理模式,对结构化数据与异构数据进行统一管理。或许是应对“毒蛇出洞,还未正式发布的中参加了对于二进制的文件存储,以提高数据库提取文件的速度。包括甲骨文、微软在内的数据库厂商都在走从传统关系数据库中支持的路线【,并且在其成熟的关系数据库产品中提供了对的支持。但提供的数据库产品对的

9、支持往往不是内置的支持,而是通过提供两种根本的数据库设计选项,将每个文档完整地存储为一个大型对象。在多数情况下,把数据重新格式化或置于大的对象中,然后作为关系数据存储,可能会导致性能问题、管理困难、查询的复杂性增加以及其他一些问题。虽然当前流行的大型数据库都提供了的存储策略,但最大的缺陷在于其解决方案和具体关系数据库平台相关,只能在本数据库中实现存储,不同数据库厂商提供的解决方案无法运用到其它厂商的平台上,不太适用于集成了多种操作系统和关系数据库平台的应用领域,不具有通用性。一因此,虽然数据管理的研究工作已经获得了不同程度的进展,但是文档的关系数据库存储还存在一系列困难,仍有待于近一步研究、创

10、新。本论文主要研究内容本文主要对数据存储技术进行研究。通过查阅大量文献,在深入了解数据存储技术目前研究现状的根底上,对基于关系数据库的数据管理技术进行了较为深入的探讨。首先简要介绍了的相关技术,包括的特点和应用分析、文档有效性验证语言和、以及解析技术。其次对关系数据库存储方法作了详细地介绍,指出了各个方法的优缺点。由于关系数据库的广泛使用,以及关系数据库成熟的事物和并发控制机制。本文接下来对基于关系数据的文档映射技术进行了深入的研究和总结,发现目前的映射技术大北京工业大学工学硕十学位论文多是基于模型的和基于的映射,而基于的映射技术较少,并且在映射过程中,缺乏语义一致性验证。本文提出一种基于的关

11、系数据库映射模式,该方法具有如下特征:将转化为语义图;根据中不同的组件采用不同的转化方法,在转化的过程中,简化语义图,并且在转化的过程中充分的考虑了语义一致性的转化;将转化到关系模式时,映射到两类表,分别是元数据表和数据表,元数据表用来存储文档的结构,包括层次和顺序,而数据表是用来存储文档中的数据;从文档中抽出数据,存储到映射好的关系模式中;对基于上面的映射方法,简要地介绍了从关系数据库逆向转化为文档的方法;最后基于本文提出的映射理论,设计了一个原型系统来验证我们所提出的理论。论文组织结构本文共分六章,文章的结构安排如下:第一章绪论,主要介绍了论文的研究背景,以及数据管理技术的研究现状和意义。

12、第二章及数据存储技术的研究分析,简单介绍了的特点、模式语言和解析技术,这是实现数据管理的根底;简单描述了文档的存储方式,并对各种存储方式的优缺点进行分析比拟;接着,详细介绍了文档到关系数据库的映射技术,并进行了比拟。第三章是本人的主要研究问题之一,提出了中各组件的转化方法,以及如何保持语义一致性。第四章是本人的主要工作成果,在总结分析前几章的根底上,研究了将映射为关系模式,并抽取文档中的数据存储到该关系模式中,最后简单介绍了如何重构文档。第五章原型系统的的设计和实现。介绍了系统的架构和功能,详细介绍了每个功能模块。该原型系统是在前几章理论研究根底上开发的,同时也是对这些理论技术可行性的有效验证

13、。最后一章是对本文工作的总结和展望。第章相关技术的分析及问题的提出第章相关技术的分析及问题的提出对于数据存储技术的研究,首先要对的相关技术有深入的了解,相关技术包括制定的一系列核心标准,作为我们一切研究的理论根底,在本章中我们将简要介绍涉及到的相关技术;其次要对的存储技术有深入的了解,本章的后两节对现有的存储技术进行概述,并对其进行了分析比拟。技术及应用特点,可扩展标记语言是由】于年月发布的一种标准,是的一个简化集。它继承了的强大功能,去除了繁琐的定义,弥补了作为网络标准语言的缺乏。它将的丰富功能和的易用性结合到了万维网的应用中,深受软件开发商的支持和程序开发人员的厚爱。目前在很多方面都有应用

14、,具有如下特点:的特点作为一种标记语言,具有严格、标准的语法,创立文档必须满足一定的标准,依据规格,所有的文档都必须是格式良好的,一个格式正确的文档必须符合以下几点要求:声明语句。声明必须以小写声明,并设置属性,必须出现在第一行,其格式如下:?一?,声明的作用是告诉浏览器或者其它处理程序:这个文档是文档。声明语句中的表示文档遵守的标准的版本;表示文档是否附带文件,如果有,参数为;表示文档所用的语言编码,默认是。元素。元素组成了文档中的大局部内容,文档有且只有一个根元素,所有元素构成一个层次树,元素之间必须正确嵌套。元素由一对标记组成,结束标记匹配相应的起始标记。格式为:标记名内容叫标记名。属性

15、。元素可以用属性来注释,属性通常用来给元素提供所显示内容的额外信息,出现位置为元素的起始标记中,对于一个元素来说,不能存在多个相同名称的属性,元素大小写敏感。格式为:属性名属性值。处理指令。处理指令通常用来为处理文档的应用程序提供信息,这些信息包括如何处理文档,如何显示文档等。处理指令的出现位置可以为元素北京工业大学工学硕士学位论文的后裔,也可以为根元素的前面或者后面。格式为:?。注释。注释出现位置可以为元素的后裔,也可以为根元素的前面或者后面。格式为:!一注释内容。命名空间。允许设计者定义自己的标记名,命名空间的出现解决了重名的情况。格式为:。图给图一个良构的文档一的应用分析作为互联网的新技

16、术,的应用非常广泛,渗透到了互联网的各个角落。借用公司的报告中的一句话:“商业公司不能再做局外人了,不能对置之不理。可见,的重要性,以下是的主要应用场合【:数据交换。电子商务通过互联网传输和交换商务数据,并对商务数据进行人工或自动处理,这也是的主要应用领域之一。的可扩展性和自相容性等特点,使之成为数据交换的有力工具。内容管理。只用元素和属性来描述数据,而不提供数据的显示方法,它提供了一个独立于平台和语言的内容,使用象这样的语言能够轻易地将文件转换成各种格式文件,比方,等等。集成。现在有越来越多的设备也支持了,为了利用互联网技术和标准为移动设备连接互联网建立全球性的同一标准,联合了等通讯公司建立

17、了论坛,推出了标准,同时也定义了基于的手持设备置标语言。配置管理。许多应用都将配制数据存储在各种文件里,将配制数据标记为格式,能使其更具可读性,并能方便地集成到应用系统中去。使用第章相关技术的分析及问题的提配制文件的应用程序能够方便地处理所需数据,不用象其他应用那样要经过重新编译才能修改和维护应用系统。模式语言模式语言负责定义和描述文档的结构和内容模式。它可以定义文档中存在哪些元素和元素之间的关系,并且可以定义元素和属性的数据类型。模式语言主要有两种:和,现分别介绍如下:是文档类型定义的简称。它是一套关于标记的语法规那么,详细描述一组文档的结构。列出了可用在文档中的元素、属性、实体和符号表示法

18、,说明在文档中可以使用哪些标一记,哪些标记可以出现在其它标记中,哪些标记具有属性,使用的标记应按什么顺序出现等。例如,图是一个的例子,图中的文档就是符合这个的描述的:!,!嘏!伊图一个的实例也在文档中,可以利用操作符幸次或屡次、至少次、?次或次、或选来定义子元素的出现次数。其中表示元素,表示属性,表示数据,假设所有取值都只能是字符串值。文档中的使用方法分两种:内部,即在文档的序言部分中直接参加的描述;外部,即可作为一个完全独立的文件,将存储在一个后缀为的文件中,在文件中调用它。可以看出,内部相当繁琐,通用性低,而同一个外部文件,可以被多个文档引用;外部文件的可移植性很好,当需要修改的时候,只修

19、改外部文件,而不需逐一修改使用了该的所有文档。使用了的文档必须符合该模板的要求,在分析阶段必须通过的有效性验证。随着技术的广泛使用,逐渐暴露了自身存在的缺乏:是基于正那么表达式的,描述能力有限;没有数据类型的支持,在大多数应用环境下能力缺乏;的约束定义能力缺乏,无法对实例文档做出更细致的语义限制:北京工业大学工学硕士学位论文的结构不够结构化,重用的代价相对较高;并非使用作为描述手段,而的构建和访问并没有标准的编程接口,无法使用标准的编程方式进行维护。同一样,也是一种文档模式定义语言。但与不同的是,克服了的几个局限,与相比,有如下几个优点:使用标准语法,本身就是一个文档,可以直接用成熟的文档解析

20、器读取;提供了丰富的数据类型,包括数字型、布尔型、日期型等等,并且可以定义新的数据类型,允许对数据进行更严格的合法性检查;支持继承性,即可利用一个已有的产生一个新的;支持命名空间,保证了标记的唯一性;的扩展性好,它的内容模型是开放的,可以随意扩充、更新等。下面是一个的例子,一般,这样的模式文件保存在一个后缀为的文件中,与图中是等价模式,同样可以描述图的文档。解析技术图一个舭的实例也第章相关技术的分析及问题的提文档实际上就是纯文本数据,使用数据格式的应用程序首先必须能对数据进行读取、分析,进而进行处理。与是两种常用的应用程序接口标准。它们在应用程序开发过程的作用如以下图:图和应用体系下面分别给予

21、详细的介绍。即简单编程接口,第一个被广泛采用的用编写的,是一个事实上的标准【。是一个通用的,基于事件的解析的标准编程接口。是事件驱动的“推模型,是一种基于回调机制的程序运行方法,即它不需要一次读入整个文档,是边读文档边对文档进行解析,文档的读入过程就是的解析过程。从这一点来说,是一种轻量型的解析方法。莹文挡¥盯图解析模型即文档对象模型,个来自的成熟标准【】。将文档看作是一个分层的对象模型,是一棵节点树,称为树。在树中,有一个根节点,即根元素,其它节点都是这个根节点的后代节点,节点用来表示文档中的元素,属性、文本、注释、处理指令以及类似的信息。是文档驱动的,即它一次把整个文档读入内存,然后向应用

22、程北京工业大学工学硕士学位论文序提供对整个文档可操作的树,可以通过这棵树来访问所需信息。解析器需要一次把文档读入内存,从这一点来讲它是一种重量型的解析方法。一图解析模型的树型结构与比拟和是两类不同的文档解析方法,两种技术各有利弊。主要区别在于:,应用程序的目的:如果必须对数据进行更改,并且作为将它输出,那么在大多数情况下,使用。与使用转换来完成的简单结构更改不一样,如果是对数据本身进行更改,那么尤其应该使用。数据的数量:对于大文件,是更好的选择。将如何使用数据:如果实际上只使用一小局部数据,那么使用将数据抽取到应用程序中,这种方法更好些。另一方面,如果知道将需要向后引用已经处理过的信息,那么可

23、能不是正确的选择。需要速度:通常实现比实现快。值得说明的是,和并不是互斥的,这一点很重要。可以使用来创立事件的流,可以使用来创立树。事实上,大多数解析器常常使用来创立树。第章相关技术的分析及问题的提出文档存储方式在处理数据时,首要的问题就是存储,对数据的各种处理,查询、检索、更新都是建立在一定的存储模式根底上的。当前,数据的根本存储方式可分为三类:文件系统、支持的数据库和纯数据库【。现有的存储方式简介文件系统的存储方式使用文件系统来存储就是把直接存储为文本文件,访问时首先通过文件系统的目录结构,然后通过文档的元素结构来提供对数据的层次访问。基于文件的系统简单而容易实现,无需使用底层的数据库或对

24、象存储管理。同时由于文档被直接存储为文本文件,文件存储方式无需存储转换和重构查询结果。支持的数据库存储方式支持的数据库是传统的关系和面向对象数据库的扩展,根据数据库管理系统的不同,又可以分为:基于关系数据库的存储、基于对象数据库的存储以及基于对象一关系数据库的存储。由于关系数据库技术成熟,并且应用极为广泛,我们着重研究基于关系数据库的存储。将存储到关系数据库中就是利用文档模式信息设计关系表结构,然后解析文档,结合模式信息,将的内容分别存储到对应的关系表中。利用关系数据库系统来处理数据的方式具有如下的优点:一方面,当前的关系数据库的技术十分成熟,商用关系数据库系统都具有高性能的查询引擎,良好的可

25、扩展性、平安性和健壮性,因此,利用关系数据库系统管理数据可以重用数据库的查询优化器和事务处理机制,能够保证数据的一致性和完整性:另一方面,目前大量的数据主要存放在关系数据库中,采用关系系统便于在关系数据库上建立适于二者的应用,使关系数据库进入领域成为可能。目前,主要的关系数据库厂商都提供了对的支持,开发出了大量的在文档和数据库之间进行数据转换的工具,如,等。捆绑于,能够将从关系表或视图中恢复的数据转换为。提供了将内容映射为关系表的工具,但是,对于复杂结构的数据,必须为了映射而进行重构。捆绑于,使得开发者可以将文档映射为关系表,为现存的关系映射创立视图,用北京工业大学工学硕士学位论文查询关系数据

26、,为查询生成结果。纯数据库的存储方式纯数据库这个术语首先出现在为所做的营销宣传中。目前尚没有关于数据库的一致公认的定义,下面是一个较为普遍接受的论述取自“:为文档而不是文档中的数据定义了一个逻辑模型,并根据该模型存取文件。这个模型至少应包括元素、属性、和文件顺序。这种模型的例子有数据模型、以及所用的模型和的事件。以文档作为其根本逻辑存储单位,正如关系数据库以表中的行作为根本逻辑存储单位。数据库对底层的物理存储模型没有特殊要求,即它不一定必须建立在关系、层次或面向对象的数据库上,也不一定必须规定存储格式,如索引或压缩文件。从以上定义可以看出,一个是专门用于存储数据或存储模型中所有构件的数据库,该

27、数据库是文档进文档出,虽然数据库更适合于本身的特点。然而,纯的数据库缺乏细粒度的数据处理能力,不适合于处理数据集中的文档。同时,这样的系统还不成熟,数据处理的效率也不尽人意【。现有存储方式的比拟分析通过上面的介绍,我们可以看出,现有的存储方式各有优缺点,主要表现在以下几个方面:实现的复杂程度方面。以文件系统的方式存储实现容易,而其他两种相对较为困难。查询处理方面。文件系统本身不具备查询处理文档的能力,在处理查询时需要将文档解析为内存中的树结构,这种方式得缺点是:每次浏览和查询文档时都要重复的解析文档;其次整个文档在处理过程中都要驻留内存,占用资源多,同时文件大小受内存大小的限制。基于关系数据的

28、存储方式在查询的时候,需要在关系模式和文档之间转换,查询效率也不太理想。而纯数据库是文档进文档出的方式,所以查询效率相对较高。并发性。因为操作系统提供的最小操作单位是文件,所以的文件系统并发性很差;同样,纯数据库技术目前还不成熟,并发行也较差;而关系数据库经过多年的开展,具有成熟的并发机制。第章相关技术的分析及问题的提出平安性。文件系统存储方式是操作系统级的平安级别,平安性较低;而其他两种存储方式的平安级别是数据库级的,是建立在操作系统之上的,平安性要高得多。文档转化方面。文件系统存储方式和纯数据库方式不需要对文档进行转化;而基于关系数据库的存储方式需要在文档模式和支持的数据库模式之间进行映射

29、转化,这也正是文档关系化存储的技术难点。技术成熟性方面。关系数据库技术经过大力开展,在各方面都相当成熟;而纯数据库技术目前还不成熟,也没有统一的标准。应用范围方面。关系数据库被广泛应用于各种商业系统中,而纯数据库还处在研究阶段。基于关系数据库的文档映射技术当前文档数据映射的研究,主要是与关系数据库的映射。将文档映射为关系模式进行存储,有两大类映射方法【】:模型映射和结构映射,其中基于结构的映射方法又可以分为两类,分别是:基于的结构映射方法和基于的结构映射方法。对于模型映射,需要将文档模型即文档树结构映射为关系模式,关系模式表示文档模型的构造,对于所有文档都有固定的关系模式,因此,它是或无关的;

30、而对于结构映射,需要将或映射为关系模式,关系模式用来表示目标文档的逻辑结构即或,它是或相关的。在进行关系数据库映射时,从文档的或推断元素应该怎样映射到关系表,然后再根据生成的关系模式,对文档进行解析分解,并将数据存入关系数据库,这样的映射策略属于结构映射方法。模型映射方法模型映射法又分为:边模型映射方法和结点模型映射方法。将一个文档看成是一个有序有向边标记图,称为图,设计一个或假设干个关系存储图的边信息和结点值,该策略是属于基于边的模型映射方法,称为边模型映射方法。设计假设干个关系来存储文档树的结点信息、结点值和结构信息通过区间编码来译码结构信息,或直接存储双亲孩子结点对或祖先后裔结点对,该策

31、略是属于基于结点的模型映射方法,称为结点模型映射方法。边模型映射法北京工业大学工学硕士学位论文一个文档能够用一个有序有向边标记图来表示【】在这种图中,每一个元素用一个结点表示,结点被标上对象的:元素与子元素或属性之间的关系用图中的边来表示,并在边上标上子元素或属性名:为了表示元素中各子元素的顺序,可以对图中从某结点引出的边进行排序:文档中的值作为图中叶结点即属性或最底层子元素结点表示。例如图即为图的文档对应文档图。图文档图有了图之后,就可以分别设计关系表存储文档的边信息和值。对于用来存储边信息的边表有三种设计方案:第一种是所有具有相同名称的边存放在一个边表中,这种方法称为方法。因此,图所示的文

32、档图所对应的方法的和边表,其它依次类推:表边表、表逸表第二种是用一个表来存储图的所有边信息,这种方法称为方法。其关第章相关技术的分析及问题的提出系模式为:,。其中域和域表示引出结点和引入结点的,域表示该边在兄弟边中的位置序号,与用来存储边标记即改边所指向结点的标记名,属性用来反映边所指向的结点类型叶结点类型为、等,非叶结点类型为。可以看出,边表与边表原理相同,只是边表将所有具有相同边标记的边存放在一个表中,可以说,边表是边表的水平分割。因此,图所示的文档图所对应的边表为:表方法的边表第三种是采用一个边表来存储图中所有路径的边信息,该方法称为方法。对于用来存储文档值的值表有两种设计方案:第一种是

33、不单独设计值表,将值和边存储在同一个表中,在边表中直接增加一个属性,用于存储叶结点的值,这种方法称为内联方法。其关系模式为:,;第二种是为每一种可能的取值类型设计一个值表,该方法称为别离值表。其关系模式为,其中存储叶结点的,属性用来存储叶结点的值。从上面的映射模式可以看出,文档图的生成是基于文档本身,与和没有关系,并且映射的过程中记录了结点的位置信息,因此反过来,也可以从关系数据库复原文档。综上所述,三种边表设计方案连同两种值表设计方案,合在一起一共有六种存储模式。和对这六种根本的存储模式的结果占关系数据库大小、执行不同类型的查询的执行时间、从关系数据重构文档北京工业大学工学硕士学位论文的时间

34、等三个性能参数进行了量化分析,结论是:边表方法优于边表方法,边表方法又优于边表方法;内联值表方法优于别离值表方法;边表带内联值表的存储模式能获得最好的综合性能。方法和方法查询性能不好的主要原因是由于边表太大,因此执行连接操作非常费时。事实上,对于一个给定查询来说,边表中存放的数据大局部是不相关的。换句话说,在方法中仅仅相关的数据被处理,即使卷入大量的连接和回路操作,由于现代关系查询引擎有非常强的查询处理能力,也能获得很好的查询性能。内联值表方法优于别离值表方法的主要原因是内联方法无须进行边表与值表之间的连接操作。对于许多不同的数据类型,由于在关系数据库系统中,空值通常以一种紧缩方式进行存储,因

35、此空间就节省了,解决了大量冗余的问题。结点模型映射法模式,等基于结点模型映射方法提出了一个数据的关系存储模式,称为。是通过区间编码,来反映译码文档的模型结构,并根据内容来划分,分为元素边、属性边和文本边,同时将所有路径进行存储,因此,模式由四个关系表组成:,其中,在表中,为标记路径的标识,域存储标记路径,为了实现路径表达式的字符串匹配操作,将标记路径中的“,替换为“彤进行存储。对于,和表,主键是,是外键。每一个不同的标记路径作为表的一个元组,因此它能够有效地处理带“操作的正那么路径表达式查询。第一步,利用字符串中的匹配操作,能够快速地查找出与给定正那么路径表达式相匹配的所有标记路径的标识:第二

36、步,利用这些路径标识,能够快速地查找出隶属于这些路径终端的值元素结点、文本结点或属性结点。的最大优点在于它与标准的紧密结合,从而能够对基于的查询给予相当好的性能支持,但同时它也存在很大的缺乏之处,尤其是它的信息具有很大的冗余信息,一个简单的修改节点名字的操作,都会需要相当复杂的操作。模式香港科技大学,和等基于结点模型映射方第章相关技术的分析及问题的提:法提出了另一个数据的关系存储模式,称为【。是通过一个单独的,表来反映文档的模型结构,并根据内容和“结构与非结构来划分边,同时将所有路径进行存储,因此,模式也由四个关系表组成:,其中为标记路径的长度,即标记路径中边标记的个数:域存储标记路径,与类似

37、,这里将标记路径中的“替换为“进行存储:为文档中元素结点的标识,它也可以作为以该结点为终端点的数据路径的标识:,分别为文档的数据路径中的双亲结点、孩子结点的标识。这里,没有考虑文档标识。表存储的是双亲孩子关系,因此,为了检查数据路径需要进行连接操作。为了加速这种处理,可以不用表,而改用表来存储祖先后裔关系:,例如,利用元组,表示结点的曾祖父是结点。表能够快速地检测结点之间的祖先后裔关系,但是它比表需要更多的空间,而且由于存在冗余信息,修改起来代价也更高。模式分别通过表和表来支持标记路径和数据路径,因此,模式既具有基于结点的模型映射的特点,又具有基于边的模型映射的特点。,表基于双亲孩子关系来反映

38、文档的核心结构,它也能够被进一步物化为表来支持祖先后裔关系。由于文档中的结点标识也可以用来标识以该结点为终端点的数据路径,因此,元素和数据文本或属性隶属于数据路径。结点模型映射方法需要维护的是文档树的结点信息,而不是边信息。模式通过区间编码来译码文档的模型结构即包含关系,它的优点是通过口连接非等值连接,能够容易判别两个结点之间的包含关系。但是,秒连接的代价比等值连接要高得多,这是因为在关系数据库中并没有特殊的索引机制来支持它。模式在结构上类似于模式,只是用替代了【,。然而,这种变化使得模式仅需要等值连接,而模式却需要连接,因此,模式能够基于传统的索引机制如树索引,从而得到有效的实现。方法的最大

39、优点也在于它与标准的紧密结合,从而能够对基于的查询给予相当好的性能支持,但同时它也存在路径冗余的缺点。北京工业大学工学硕士学位论文基于的结构映射方法基于的结构映射研究中比拟有影响的方法有方法【矧、方法、方法【引。方法方法【是较早用关系数据库来存储数据最有一意义的尝试。结合关系数据库技术和半结构化数据处理技术来实现对半结构化数据的管理。它采用数据挖掘算法从文档中提取有一代表性而且置信度大于预先给定阈值的,根据提取出的自动生成关系模式,对于个别不符合所提取结构的数据,将它们另外存在“表中,因而从理论上说,是一种无损存储方法,能实现数据的完整复原。但由于用关系表和“共同存储数据,对于那些结构变化较大

40、的文档,“将变得很庞大,不但消耗大量的数据空间,而且查询操作也需要经常徘徊于关系表和之间,因而效率不高。语句主要是由一个或多个映射构成,从句主要用于绑定存在的映射变量,而从句主要说明从句中的变量在关系模式中的存储方法。方法等提出了根据映射关系模式的存储策略【】,方法是领域比拟有影响的一个研究:。方法根据来生成相应的关系模式。根据文档的定义建立一个有向图,首先需要对进行适当的简化,然后产生图及元素图,再根据图或元素图生成关系模式,最后将符合该的文档数据装入关系数据中。首先,简化并生成图。的元素说明可以是任意复杂的,因此,在将映射为关系模式之前,必须对一些复杂的进行必要的简化变换。简化变换包括三种

41、类型。,变换:变换每一个嵌套定义到平坦的表示,使二元操作“,和“不出现在任何操作之内。变换:将连续的多个一元操作缩简为一个一元操作。变换:将多个具有相同名称的子元素进行聚合,形成一个子元素。另外,所有的“操作被转换成“幸操作。一个图表示一个的结构,图的结点是中的元素、属性和正那么路径运算符,每一个元素在图中出现且仅出现一次,属性和操作符在图第章相关技术的分析及问题的提中出现的次数那么与它们在中出现的次数相同:图的边那么反映中元素之间的嵌套关系:图中的环表示回路的出现。如图是根据一个所产生的图。其次,根据图生成关系模式。一根据一个图生成的关系模式是该图中每一个元素所生成的关系模式的并。为了说明如

42、何生成一个元素的关系模式,需要引入元素图的概念。简单地说,一个元素的元素图就是从该元素出发以深度优先遍历图的过程中所生成的一棵树。如果遍历过程中到达了一个已经遍历过的结点,那么表示出现了回路,回路可看成逆向边,它以虚线边来表示,且该条路线不必再去重复遍历。根据图生成关系模式的方法有:根本内联法、共享内联法和综合内联法【。根本内联法根本内联法对于每一个名为的元素,根据它的元素图生成一个同名关系,元素图中根结点的所有后裔叶结点均内联到该关系中作为一个属性。但以下两种情况除外:北京工业大学二学硕士学位论文一个乖或结点的直接孩子结点不包括在该关系中,即对于集合值孩子将另外生成一个新的关系:产生逆向边的

43、结点不包括在该关系中,即另外生成一个新的关系来处理回路。,在生成的关系模式中,关系的属性是以从结点到内联结点的路径来命名的;每一个关系需要有一个域来作为该关系的键;对于幸或结点的直接孩子结点以及带回路的结点,它们所生成的关系还需要有一个域来作为该关系的外键。共享内联法共享内联法使每一个元素结点出现且只出现在一个关系中。它按如下原那么来判断哪些元素可以生成独立的关系:图中入度大于或等于的元素结点生成独立的关系模式;图中结点枣或的直接后继元素结点生成独立的关系模式;互为递归的入度均为的元素结点,其中之一生成独立的关系模式;其余的结点均生成关系属性。下面的图即为图中的图对应的共享内联法生成的关系模式

44、:,:,:,:,:,:,:,:,:,:,:,:,:,:,:,础:曲:,:,:,:,铀:,:,:,:,:,:图共享内联法生成的关系模式综合内联法在共享内联法的根底上,将所有入度大于的元素结点也内联进入父结点所生成的关系中,但是带回路的结点以及结点或的直接后继结点除外。综合内联法的出发点是充分吸取根本内联法和共享内联法的优点,克服其缺点。下面的图即为图中的图对应的综合内联法生成的关系模式:第章相关技术的分析及问题的提出:,:,:,:,融:,:,:昭,:,:,:曲:,:,:,:,:,:,:,:曲:,:,:,:,:,:,:,龃:,:血:,:,:,:,:,:,:,:图综合内联法生成的关系模式三种算法的比

45、拟根本内联法对于的每一个元素都创立了一个关系模式,产生了大量的关系,并且会产生大量的数据冗余,因此该方法根本上是不实用的。对于共享与综合两种算法来说,二者都是在根本内联算法的根底上进行了某些改良,目的是修正根本内联算法的缺点,跟根本内联算法相比都有效的减少了所产生关系的数目。共享算法相对减少了生成的数目但增加了每个查询的连接运算,综合算法相对减少了每个查询的连接运算但增加了查询。方法方法【的提出给存储研究者提出了一个有一意义的尝试和挑战。因为目前的所有对存储的研究存都只考虑文档的结构信息,没有考虑到文档的语义信息问题。而模式转换过程中语义信息的保持不但可以更有效地复原文档,而且也可以减少数据库

46、中某些不必要的存储。采用混合内联法【,充分考虑了文档中的域约束、基数约束、包含依赖,等价生成依赖,、元组生成依赖,四种语义信息,完成了从到关系模式的映射。基于的结构映射法目前比拟有影响的基于的结构映射方法是:【方法。文献【】提出了的思想,是的一种等价形式,北京工业大学工学硕士学位论文并由变换而来。将原始中的多值元素提取出来进行单独处理,生成同名的复杂类型,并在其父亲元素的类型定义中保存对新增类型的引用。根据文献例,可以直接映射为关系模式,从而实现了文档到关系数据库的映射。同时,文献【】提出了到关系模式的生成规那么:对于中的每个类型,创立关系;对于新建立的每个关系,创立主键用于存储相应元素节点的

47、;对于每个关系,创立类型的父类型的引用外键;在每个关系玎中,对类型的任意简单类型的单值子元素新建一列;如果某单值简单类型元素有修饰,那么创立列时,该列允许为空。方法是一种基于代价的方法,它根据查询的不同特点来生成关系模式,是一种比拟灵活的方法,但对元素的提取并不彻底。的存储应该需要提取出在文档中会屡次出现的元素,它既包括通过定义的重复出现的元素,也可以是以递归形式嵌套出现的元素,还可以是屡次被引用的同一元素,而仅对简单重复出现的元素进行提取,而没有考虑到其他重复形式元素的提取,是不完善的。基于关系数据库的映射方法比拟分析通过对模型映射方法和结构映射方法的详细研究,可以总结出以下结论:模型映射方

48、法基于文档本身,而结构映射方法基于或者;,由于模型映射基于文档本身,对于具有相同或者的文档,仍然需要分别重复解析,影响效率,而结构映射方法那么有较好的通用性;在基于模型的映射方法中,关系模式记录了元素的顺序信息和结构信息,但所有的方法没有考虑语义约束,同时基于模型的映射方法不符合软件开发重用的理念。在所有基于结构映射的方法中,大局部是基于的映射方法,并且基于的映射方法也考虑到了映射过程中语义的一致性,但是对于基于的映射方法研究较少,并且技术也很不完善。同时,我们也不难发现,模式本身所固有的缺点,使得基于模式的映射方法,并不能很好的保持语义的一致性,例如:对于类型的定义只有和两种,映射到关系模式

49、的时候缺点就显现了出来。第章相关技术的分析及问题的提出研究问题的提出及分析从上面的分析可知:由于关系数据库技术的大力开展、成熟的技术和广泛的应用,使得文档的关系化存储成为可行的数据存储方法,有广阔的开展前景。因此,本文主要研究基于关系数据库的数据存储技术,而基于关系数据库的数据存储要解决的关键问题就是,模式与关系模式的映射问题。从前面的综述中也可以看出,作为技术领域早期所广泛使用的一种模式,基于它的关系化映射方法研究较多,而前尚没有较好的基于的关系映射模式。但是,存在诸多缺乏,例如缺乏对文档结构、属性、数据类型等约束的足够描述等,于是,于年月正式推荐为的标准模式。自从标准出现以后,由于的诸多优

50、点,使得逐渐代替成为验证文档格式的有效性的方式。因此,本文中,我们研究的主要问题就是,基于的关系化映射方法。,通过上面的介绍可知:目前大多数基于的关系映射模式的研究方法中,都存在一些缺乏。有的只是从结构上进行转换,没有考虑到模式中包含的信息,不能保持实体完整性、参照完整性、取值约束以及减少数据冗余;有的虽然保持了语义约束,但是在数据存储时,没有考虑数据自身的特点,如顺序性,层次性等,这就失去了转换到关系模式意义。综上所述,在本文的后半局部,我们主要研究中各组件的转化方法和一种基于的文档关系化映射方法。本章小结在本章中,节简单的介绍了技术的优点、应用特点、模式语言和解析技术;节主要对当前的存储方

51、式进行了介绍,并且指出了各种存储方式的利弊;节介绍了基于关系数据库的文档映射方法,分别介绍了基于模型的映射方法和基于结构的映射方法,并对它们加以比照;节中基于对前三节中理论总结分析的根底上,提出了本论文要研究的问题。第章组件转化方法的研究第章组件转化方法的研究中的组件的特性与转化思路主要有,等组件,分别简要介绍如下:。用于声明该文档是一个文档。它包含两个属性:指定该的名称,用来指定的命名空间。女:。用于定义元素,中包含,等属性。记录元素的名称。表示元素的类型,可以是简单数据类型或是自定义的复杂类型。,表示元素在实例中出现的次数范围。表示属性,嵌套在相应的元素中,包括,等属性。记录属性名,表示属

52、性类型,表示属性在元素中出现的情况,分为,。其中表示属性有一个确定的默认值,表示属性可以有一个默认值,为缺省值,表示属性在元素中必须出现。内的一系列属性和元素成为一个序列,序列中的每个成员按该定义中出现的顺序出现在每个文档实例中。中出现的多个元素或元素组,只能有一个出现在每个文档实例中。用于将文档中的元素分组,一般嵌套在中。在文档中,元素的数据类型有两种:简单类型和复杂类型。对于复杂类型的元素,都定义了复杂类型元素的内容模型、和,定义了其模型组中子元素的出现顺序和结构等;同时中还定义了其模型组中子元素的出现次数;复杂类型的元素还可能具有属性或者属性组。对于属性或是简单类型的元素,主要是处理它们

53、的数据类型。我们的关系映射思路是:对于属性和简单类型的元素,由于在元数据表中已经标识出哪些结点为元素,哪些结点为属性,所以不再单独为它们创立表,只需要把它们转换成为字段放入到为其父元素建立的表中就可以了,这样可以大大地压缩生成的关系表的数量;而对于复杂类型元素,因为它可能包含子元素或者属性,甚至两者都包括,那么显然是不能把它映射成为表中的一个字段,因此我们为每一个复杂类型元素单独创立表。在研究以上各种组件转化到关系模式的过程中,我们充分考虑了北京工业大学工学硕十学位论文所包含的各种约束信息,不仅包括保持数据本身的顺序性、层次性、以及元素和属性相区别的特点;而且最大程度的保持中描述的语义信息,如

54、实体完整性、参照完整性、取值约束以及函数依赖等。规那么表名命名规那么由于只有复杂类型元素才单独创立表,表名取自映射为复杂类型元素的属性值。规那么字段名命名规那么在关系化映射的过程中,只有简单类型元素和属性映射为表的字段,字段名取自映射为字段的简单类型元素和属性的属性值。以下我们分别介绍各组件的转化方法,并在转化的过程中充分考虑到各种约束语义的保存。在本论文中,我们以经典的图书结构作为例如来进行分析,如下例:。?:胗,:扮:胗:一:。:一:北京工业大学工学硕士学位论文具有语义保持的简单类型元素转化方法研究简单类型元素既不能包含子元素,也不能带有任何属性。简单类型一般可以分成以下四类:内置简单类型

55、、限制简单类型、列表类型和联合类型。因为内置简单类型和限制简单类型都是不能再分割的,所以内置简单类型和限制简单类型又被统称为原子类型。以例中的简单类型元素为例:今,我们可以看出,简单类型元素的语义有:、和次数限制构成。简单内置类型的转化方法目前标准中定义了种内置的简单类型,这些简单类型代表了常见的数据类型,字符串、数字、日期和时间值等,例如,的“:“:,“:等等。我们认为可以直接把定义的内置简单类型映射到关系数据库中对应的类型。例如,如果关系数据库是,那么可以把的“:类型映射成数据库中的类型,“:可以映射成数据库中的类型。但是这样的转换存在着长度不匹配的问题:的“:和“:可以表示任何字符串和数

56、值,而的类型需要定义长度,默认长度为,类型也是有一定数值表示范围。由于文档中所有类型都没有给出长度的定义,所以长度问题还是转换成关系数据库模式时所遇到的一个无法解决的问题。好在实际应用中使用的数值和字符串等各种类型一般都是有一定的长度限度,数据库的默认设置都能满足应用需求。只是映射为默认长度,这样会浪费一些空间,不是一个好的数据库设计。我们将的数据类型缺省地映射到关系数据库中对应的数据类型,如果在导入时,遇到长度超过给出的限定,那么可以修改表结构,增加这个字段的长度直到能够接受需要导入的串的长度。限制内置类型的转化方法限制简单类型是通过派生那些己存在的简单类型来定义的,这些简单类型可以是内置的

57、,也可以是已经派生出来的。换句话说,如果要创立自己的限制内置类型,那么最开始的那个类型就必须是内置简单类型或是通过内置简单类型派生的简单类型。在上例所示的模式中,简单类型“第章组件转化方法的研究就是从根底类型“:中派生出来的:以及下面例子中的简单类型“:【】:由于限制类型是基于简单内置类型的,不同的是限制类型可能存在对取值的限制,所以我们再将限制内置类型转化到关系模式时,需要考虑限制性约束。因此,限制类型的转化算法为:将限制类型元素转化为其父元素的一个字段,字段类型为限制类型基于的简单内置类型,字段名为限制类型元素的名称,并在转化的过程中考虑限制型约束。例如:存在一个元素,上面例子中的简单类型

58、是元素的子元素的数据类型。转化到关系数据库中为:,对应的创立数据库表的语句为:,】【】【】【。列表类型的转化方法列表类型是由一组原子类型的值组成的有限长度的序列组,它的每一个局部都是原子的、不可分割的,并且本身都是有意义的。除了使用内置的列表类型外,还可以通过引用现有的简单类型来建立新的列表类型。但是请注意,不可以使用现有的列表类型来建立新的列表类型,也不能使用复合类型来建立新的列表类型。由于列表类型归根到底也是基于内置数据类型,与限制类型相似的是,列表类型也有对元素取值范围的规定,需要对列表类型元素的取值进行约束。因此,限制类型的转化算法为:将列表类型元素转化为其父元素的一个字段,字段类型北

59、京工业大学工学硕士学位论文为列表类型基于的简单内置类型,字段名为列表类型元素的名称,并在转化的过程中考虑取值范围约束。下面,本文举一个列表类型的例子加以说明。先定义一个简单类型,是基于“:的列表类型,此类型定义了某个企业员工的工资等级取值范围为。:“:今:接着,利用创立列表类型:一然后,给出内容符合类型的一个元素:例如:存在一个元素,上面例子中的列表类型“的元素是元素的子元素。转化到关系数据库中为:,。对应的创立数据库表的语句为:,联合类型的转化方法联合类型的值可以是原子值,也可以是列表值。该类型的有效值集是两个或多个其他简单类型的联合。也就是说一个联合类型包含了多个原子类型或者列表类型,由于

60、原子类型和列表类型归根到底是基于简单内置类型,所以联合类型元素的取值可以从多个不同的简单内置类型。由于联合类型元素的取值范围较广第章组件转化方法的研究泛,所以我们认为将联合类型元素转化到关系模式中时,不管联合类型元素是那种类型,都当作“:来对待,对应到关系模式中的类型。联合类型的转化算法为:将联合类型元素转化为其父元素的一个字段,字段类型统一转化到关系模式中的字符串类型,字段名为联合类型元素的名称,如果联合类型存在对元素取值的约束,并在转化的过程中考虑约束。对于下面的例子,一个通信地址由地址和 两局部组成,地址局部是“:类型,而 局部是“:类型,可见是联合类型。:例如:存在一个元素,上面的联合

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论