查字典论文网 >> XML文档与关系数据库数据转换的研究

XML文档与关系数据库数据转换的研究

小编:

摘 要 针对目前异构数据库间数据访问的问题,提出了种基于XML的数据交换技术。研究了XML模式与关系模式相互转换的方法,讨论了XML数据的关系存储以及XML与关系数据库的映射策略,分析了基于不同映射的数据转换的可行性。

关键词 XML 关系数据库 映射

中图分类号:TP3 文献标识码:A

由于数据库技术本身的发展和数据库市场的变化,使得越来越多的应用需要在异构数据源之间进行访问,XML技术便应运而生。然而,目前大部分应用的数据存储在关系数据库中,XML数据又以XML文档形式存在,因此,研究XML文档与关系数据库的转换对异构数据源之间的数据集成非常重要。

1 XML与关系数据库的比较

由于传统的各数据库管理系统之间的异构性及其所依赖操作系统的异构性,很难实现在异构数据库之间进行通信,同时对关系数据库的访问还依赖于系统对ODBC的支持程度,即便如此,很多防火墙不允许这种信息转换,而且还容易被攻击。XML具有无可比拟的优势,一方面,利用XML文档,开发人员可以编码任何关系数据库中的面向记录的数据,并很好地保持这些数据的逻辑结构,甚至可以根据实际应用的需要更改这些数据的逻辑结构。另一方面,XML文档具有透明性和平台无关性,独立于传输协议,可以使用FTP、HTTP、RPC 等多种方式传输,发送端和接受端无须关心数据是来自于什么平台以及是如何产生的。

但是,XML作为一种形式语言,以文本的形式对数据进行描述,存在管理和检索上的困难,仍然无法完全取代数据库。首先,数据库具有灵活而高效率的数据操作手段,可以处理海量的数据信息。就XML文档而言,目前主要通过XML解析器提供的API来实现对文档数据的访问,但随着XML文档的数据量增大,这种方法的效率明显不如访问数据库的效率高,而且XML文档数据的维护也更加困难。其次,从并发性来说,关系数据库本来就被设计为允许多个用户同时处理信息,但目前对XML文档的访问不具备并发性。最后,从安全性来说,数据库拥有一个很好的安全控制体系,允许用户对数据进行不同级别的处理,而这也是XML文档所不具备的。

2 XML数据的关系存储

XML数据源有XML纯文本文档、关系型数据库以及其他应用数据几类。由于XML数据源的不同,关于XML存储的研究目前大致分为四个方向:利用文件系统存储XML数据的研究;利用面向对象数据库存储XML数据的研究;用关系数据库存储XML 数据的研究;专门设计的XML(NXD) 存储策略。针对于XML具体应用,在存储XML文档的数据库技术上,形成了两大阵营。一种阵营主张在原有的传统关系数据库基础上,通过扩展XML支持模块或中间件,来完成XML数据和数据库之间的格式转换和传输;另一种阵营主张利用NXD技术来解决XML文档的存储管理。用关系数据库来存储XML数据,可以利用现有数据库的存储管理、并发控制、恢复、版本机制等技术有效地管理数据,并使用SQL查询作为数据存取的方法,所以用关系数据库来保存和处理XML数据是很有效的方法。利用关系数据库来存储XML数据的方法是XML半结构数据转换为结构化数据后存储于二维表中,来实现对XML数据的存储和管理。由于XML和关系数据库数据模式的互异性,不能简单地将XML文档存储于关系数据表中,为了实现在XML文件和数据库之间交换数据,必须提供一个XML映射层,将XML文档模式(DTD、XML Schema)映射到关系数据库模式。

3 XML与关系数据库的映射方法

一个具体的XML模式到关系模式的数据转换需要涉及较为复杂的XML格式分析处理及相应的数据库操作和有效性校验。两者之间的映射为双向映射,根据映射关系的建立方式不同,主要存在两种方法:基于模板驱动的映射和基于模型驱动的映射。

(1)基于模板驱动的映射

XML文档包含简单元素和复杂元素两类,简单元素包含的内容是不具层次结构的简单内容,而复杂元素可包含属性、子元素,还可以包含多个子元素,其中子元素还可以是复杂元素。基于模板驱动的转换方法是一种浅层映射,只能用于从其他类型数据到XML文档之间的数据传递,并不支持面向对象之间或者关系与对象之间的信息交互,它无需提前定义好XML文档和其他数据之间的映射,只需在XML文档模板中嵌入一些SQL命令,这些命令在转换时被系统识别和执行,把执行的结果替换到指令的位置,生成最终的XML文档即可。

(2)基于模型驱动的映射

基于模型驱动的映射是一种深层映射,是模式和模式之间的映射。当把数据从数据库传送到XML文档或把数据从XML文档传送到数据库时,需要用一个具体的模型来实现,而不是仅仅依赖内嵌SQL命令,关系数据库的理论依据是关系模型,而XML文档依据的是XML Schema和DTD。基于模型驱动实现数据在关系数据库和XML文档间的双向传输关键是在关系模式和DTD或XML Schema之间建立双向映射。具体的思路是把一个XML文档表示为由数据对象构成的树,每一个元素类型和对象模式中的对象相对应,再通过传统的关系―对象模型映射到关系模式中。在XML文档中的数据有两个公共的模型,即表模型和对象模型。表模型是基于表的映射,许多中间件包在转换XML文档成关系数据库数据所使用的模型,就是将XML文档当成一个单独的表对象或一系列表对象。

热点推荐

上一篇:园林规划设计中的3S技术应用

下一篇:如何对幼儿进行德育教育论文 幼儿园关于德育教育之类的论文

辅警违法乱纪的心得体会 有关酒店员工12月份工作计划(推荐)(7篇)