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
f
②作为完全结构化的模型,关系型数J
域受到一定限制。
XQuery语言是一种巧妙地使用XML:
.
结构的查询语言,可以跨各种数据表示查I
!
询,而不管这些数据是物理存储在XML
中,还是通过中间件被视为XML。它使查
③面向对象方法按照和原始XML文
本文件一样的顺序(深度优先),将元素簇
集存储。在面向对象数据库基础上实现
询简洁易懂,而又相当灵活,可以查询大;
师 中国石油大学(华东)在读硕士.
范围的XML信息、源,其中包括数据库和文j
长期从事计算机教学工作。
张艳华(1 9 80 3一).女,山东东营人.讲
91
版权声明:本文标题:XML文档在关系数据库中存储与查询的实现 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1713605385a642971.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论