admin 管理员组

文章数量: 1184232


2024年4月20日发(作者:rgb各种颜色对照表)

DOI:10.3969/j.issn.1001—8972.2010 19.037 

XML文档在关系数据库中 

存储与查询的实现 

张艳华 

1.东营职业学院计算机系257091 

2.中国石油大学(华东)计算机与通信工程学院 257O61 

引言 

XML(eXtensible Markup Language) 

即可扩展标记语言,是由w3C(WOrid 

wide web Consortium)于1998年2月发 

向的超链接等等方面的一些不足之处。 

2 XML与关系数据库 

XML文档属于半结构化的数据,而关 

系数据库管理系统(RDBMS)采用二维表 

作为存储数据的模型,表格由行和列组 

成,列用于表示组成数据有效信息的属 

性,行则是用于指示一条完整的数据记 

录。XML文档与结构化的关系数据库进行 

转换时,关键问题是如何将XML文档的结 

布的一种标准。XML描述的是数据本身的 

意义和数据实体之间的复杂嵌套关系,这 

使得XMI 既能表示结构化的数据,如关系 

和对象数据,又能够表示半结构化的数 

据,如Web数据。XML现已经逐渐成为 

Internet上数据表示和交换的新的标准。 

构与关系数据库数据的结构即关系表对应 

起来,也就是需要建立不同结构层次之间 

的映射关系。 

1什么是XML 

XML既是可扩展的(eXtensible)一 

种元标记语言,又是一种可定义自己的新 

的标记语言,标记是核心,功能更加的强 

大,同时还规定了它特有的一套标签。 

XML在很多方面更具有优势,比如开发灵 

活的Web应用软件,更有意义的搜索,当 

然X M L也有一点缺陷就是能充分支持 

XML的应用处理程序不多。 

XML的出现有它的必然性,可以弥补 

HTML语言语义性差、格式固定、难以扩 

展、交互性差、内部结构的条理性差、单 

3 xML的一般存储模式 

3.1以文本文件保存XML数据 

可以将一个XML文档存储成一个文 

本文件,并且实现一个查询引擎,当查询 

被执行的时候,XML文件被解析成驻留在 

内存的一棵树。只要查询计算还需要树中 

的结点,这棵树就必须驻留在内存里。 

3.2基于关系数据库系统的存储方法 

目前提出的XML—RDB存储方法主 

要3类: 

XML数据的存储和查询,而面向对象数据 

库在查询优化上存在的问题制约了XML 

数据的查询分解和优化。 

档。XML数据类型提供了四个检索XML 

值或实例的方法:query()、value()、exist 

()和nodes()。 

①将XML文档作为一个整体存储在 

数据库的某一列中,它的基本存储单元是 

XML文档。 

⑦将XMI文档看成一种图结构,进行 

4 ̄ML数据的查询 

5结束语 

XML现已经逐渐成为Intemet上数据 

现已提出多种查询语言,如XPath、 

定的分解,然后将其元素和值存储在关 

f XQuery、XML2QL等,这些语言均是通i 

表示和交换的新的标准,而关系数据库则 

系数据库中。 

③采用一定的映射规则,直接将 

XML文档模式(或从XML文档中抽取出模 

 .

随着XML日益 

过路径表达式实现对XML文档的查询。按 

是非常成熟的数据库技术,

照查询处理方式,这些优化方法基本上可f 广泛的应用,将进一步推动XML数据库技 

以分四类: 

术的新发展。 

式信息)映射到相应的关系模式,然后再 

①图的遍历方法。把XML文档看成 

根据映射模式存储相应的XML文档。这种 

J图,对给定的查询,通过对XML文档图进j 

方法能够利用关系数据库的特性,如查询 

』行遍历来实现查找过程。按照遍历方式不 

优化和并发性控制等。 

XML关系存储的核心是XML文档到 

RDB的模式映射方法,包括模型映射和结 

构映射。一个XML文档实例可用类似对象 

交换模型的变种来表示。每个节点表示个 

点的每一条边表示相应对象的一个属性并 

用属性名(xML子元素/属性名)标注,叶 

同分为自顶向下遍历、自底向上遍历和混} 

合遍历三种。该类方法搜索空间较大,查1 

询的时间开销和空间开销均较大。 

 :

②路径连接方法。针对图的遍历方法 

搜索空间较大的问题,为了减小搜索空f 

根据编码判断节点之间的父子关系和祖: 

先/后代关系。查询时将查询路径分解成 

对象(XML元素)并赋予一个唯一标识,节 

;间,通过对XML文档中的节点进行编码, 

子节点有相应的原子数据值(XML子元素 

系列简单路径,通过节点问的包含/拥f 

内容/属性值)。如果XML文档实例中有 

J有关系连接来求满足所求关系的节点集 

且考虑元素间的引用,则它是一个图模 

型,否则是一个树模型;如果考虑XML 

元素次序,则成为一种有序模型。 

3.3对象管理器方法 

合,然后将多条简单路径的查询结果连接 

起来。这种方法虽然不需要对整个搜索空 

间进行遍历,但对于长度为n的路径,需 

要进行n一1次连接操作,系统开销较大。 

③路径索引方法。对于没有模式信息 

息,建立路径索引,查询时利用路径索引 

在对象管理里存储XML文档就是把 

每一个XML元素存储成一个独立的对象。 

;的XML文档,根据文档内容提取模式信 

但是,由于XML元素通常都非常小,因此 

这种方法的空间开销很高。取而代之,把 

XML文档的所有元素存储在一个单独的对 

象里,而XML元素本身就变成了这个对象 

里的轻量级对象。 

3.4 XML存储效率分析 

①使用文件系统来存储XML文档的 

来减小搜索空间。DataGuides就是路径索 

引的典型代表,该方法对于文档内容变化 

不大的情况是高效的,当文档内容经常发 

生变化时,需要动态重新提取模式信息, 

模式信息的维护代价较大。另一方面,f 

DataGuides中的合法路径必须是从根开始 

的,这样不便于进行任意路径的查询。 

④基于XML模式的方法。可以利用 

DTD优化XML查询,这种方法是利用 

优点是简单易用,而且也适合于XML文档 

内容少、数量小的场合,但其局限性也是 

显而易见的,当要存储某所大学所有系的 

学生的信息时,无论是数据传输还是数据 

维护都变得难于操作。与数据库不同的 

是,文件系统不能提供并发性控制。对于 

文件系统,其安全控制的基本单位是一个 

文件,无法对文件的一个部分来规定访问

控制权限。 

据库仍然不太擅长于层次化的数据。使用 

纯关系型数据库存储XML文件,查询起来

会很不方便。 

DTD中对XML结构的定义建立DTD中的 

节点与XML文档中节点的对应关系:先在

DTD中查找节点,根据与文档中节点的对

; 

 j

应关系进一步查找。该方法可大大减小搜 

索空间,但现有的基于DTD的方法均没有 

 

 

考虑DTD中带有环这一复杂情况,应用领I

 

②作为完全结构化的模型,关系型数J 

域受到一定限制。 

XQuery语言是一种巧妙地使用XML: 

. 

结构的查询语言,可以跨各种数据表示查I 

! 

询,而不管这些数据是物理存储在XML 

中,还是通过中间件被视为XML。它使查 

③面向对象方法按照和原始XML文 

本文件一样的顺序(深度优先),将元素簇 

集存储。在面向对象数据库基础上实现 

询简洁易懂,而又相当灵活,可以查询大; 

师 中国石油大学(华东)在读硕士. 

范围的XML信息、源,其中包括数据库和文j 

长期从事计算机教学工作。 

张艳华(1 9 80 3一).女,山东东营人.讲 

91 


本文标签: 方法 查询 数据 文档 关系