您好,欢迎来到刀刀网。
搜索
您的当前位置:首页XML与关系数据库间数据转换的研究

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

来源:刀刀网
维普资讯 http://www.cqvip.com 2007年第3期 总第28期 海南广播电视大学学报 Journal of Hainan Radio&TV University 2007 No.3 Gener ̄Serial No.28 XML与关系数据库间数据转换的研究 刘元鼎 (海南大学信息学院,海南海口571158) 摘要:文章论述了基于XML(Extensible markup language)的关系数据库数据转换体系结构,给出了 XML数据与关系数据库之间进行数据转换采用的两种主要的映射方法。 关键词:XML;数据转换;关系数据库;模板驱动;模型驱动 中图分类号:TP 311.132.3 文献标识码:A 文章编号:1009—9743(2007)03—0088—03 XML的结构化、可扩展性、自描述等最关键的特征,决定了 一 引言 它在数据交换领域有显著的优势和发展潜力。XML拥有 通用的数据表示格式,进而提供一条异构数据交流的捷 数据库技术的广泛应用已有很长的历史,在这一过程 中,许多行业甚至各个部门都建立了自己的业务系统,并 且起着非同寻常的作用。这些业务系统有可能运行在不 同的操作系统平台上,也有可能基于完全不同的数据库管 理系统。与此同时,不同的业务系统往往因为现实生活的 交叉和重叠自然有了共享数据的必要。然而现实就是,我 们没有一套很好的数据交换的标准,各种各样的数据交换 方法鱼龙混杂的交织在一起,实现复杂并带有太多的局限 径,构筑起数据交换过程中的良好桥梁。 二基于XML的数据交换模式 将XML用于关系数据库数据交换能够较好地克服传 统数据交换方式的缺点。基于XML的关系数据库数据交 换,是以XML为公共数据模型来实现数据库系统间模式 转换和数据交换。当某一数据库需要转换为其它数据库 的时候,只需将它转换为XML,就能轻易的将其迁移到各 种关系数据库中,具有很好的通用性和良好的扩展性。 关系数据库数据交换的困难主要是缺乏一个有效的 公共数据模型统一描述关系模式及关系。XML的出现很 好地解决了这个问题:XML的纯文本、与平台无关性首先 满足解决异构关系数据源所需要的跨平台性;XML的强大 的结构性和良好的语义性满足了表达关系数据库的结构 和各种约束的需要;XML的优良的交互性为转换带来了方 性。因此,完美的数据整合虽然永远是一个遥不可及的梦 想,但我们向往并且努力靠近这一目标。 另一方面,随之Intemet的兴起以及在全球的普及,它 已经日益和我们的工作和生活紧密的联系在一起,同时也 意味着数据的分布性和复杂性大大的增强了。很显然,这 些五湖四海富有价值的数据不仅仅是信息孤岛,它势必经 过频繁的流动、分解、融合等过程,进而彰显和扩大它的价 值,客观的导致我们对数据转换的需求更加迫切和强烈。 换句话说,我们需要从极度分散的数据库应用系统中获取 便,使得数据易于操纵;XML的易于扩展性使得应用可以 进一步扩展;XML的可格式化让转换出的结果有更多的表 现形式。因此,XML完全可以作为异构关系数据库转换的 公共数据模型。目前,XML技术已经逐渐开始应用于异构 并管理数据,以使数据资源得到最充分的利用。 为了应付这些挑战,我们当然不可能重新设计和开发 这些新旧纷繁的业务系统,这样做当然是不现实的,除了 成本、时间等因素外,新设计的系统如何面向未来的不确 定性,如何确保它有足够多的管道无缝连接种种异构的系 统。况且,这些业务系统基本上正在稳妥、高效的运行着。 因而,我们需要一个中介,XML就是这样的中介之一。 数据库的数据交换,并且已成为事实上的数据交换标准, 以XML为公共数据模型转换异构关系数据库也为关系数 据库与其他数据类型的集成转换提供了便利。 收稿日期:2007—05—05 作者简介:刘元鼎(1974一),男,汉族,海南儋州人。海南师范大学高级工程师,海南大学信息学院在读硕士。研究方 向为基于XML数据交换整合标准及中间件技术。 ・88・ 维普资讯 http://www.cqvip.com

Il0RXMLAUTO 下面是可能的部分结果: <Customers CuID=”CU127894”CName=”陈志忠” > <0rdem 0rID=”0R1O643”/> <Orders 0rID=”0R1O692”/> </Customers> 从关系数据库中将数据转换到XML文件时,几乎一 图1基于XML的数据交换模式 定要用到基于模板的查询语言。基于模板的映射有一个 缺点:就是它只能完成从数据库数据到XML文件的映射, 由图1可以看出,在基于XML的数据交换模式中,每 而不能完成从XML文件到数据库的映射。 一种数据库只需要增加一对与XML进行数据转换的功能 (二)基于模型的映射 模块就可实现复杂的异构关系数据库间数据转换,这就是 基于模型驱动的映射是一种深层次的映射,它是XML 中介的魅力所在,使得解决关系数据库间数据转换迈出重 模式与关系数据库模式之间的映射。基于模型驱动的映 大的一步。 射,当把数据从数据库传送到XML文档或把数据从XML 文档传送到数据库时,是用一个具体的模型实现的,而不 三XML与关系数据库之阃映射的方法 是仅仅依赖内嵌SQL命令,关系数据库的理论依据是关系 利用XML文档进行数据库间数据交互,就是用XML 模型,而XML文档的依据是XML Schemas或DTD。基于 作为数据交互的中介,完成数据的传输与转换。为了完成 模型驱动实现数据在数据库和XML文档之间的双向传输 数据的转换,必须首先在数据库和XML文档之间传递数 关键是在数据库模式和DTD或XML Schemas之间建立双 据,也就是在文档结构和数据库结构之间建立映射关系, 向映射。具体的思路是把一个XML文档表示为由数据对 其映射关系可以分为两类:基于模板的映射和基于模型的 象构成的树,每一个元素类型和对象模式中的对象相对 映射。 应,通过传统的对象——关系模型可以映射到关系模式 (一)基于模板的映射 中。 基于模板驱动的映射会在一个模板中嵌人带参数的 基于模型的映射也有两种:基于表的映射(table— 命令,用数据传输软件诸如中间件等实体软件进行处 based mapping)和对象——关系映射(object—relational 理。基于模板驱动的映射是浅层次映射,以XML文档内 ampping,也叫基于对象的映射(object—basde mapping) 嵌的sql执行的数据结果集为依据,不涉及数据库赖以存 )。这两种映射都建模在XML文档中的数据而不是文档 在的关系模式或对象模式,当前诸如Microsoft SQL Server 自身。这使得这些映射适宜于以数据为中心的文档,而不 2000等大多的产品都属于模板映射。 适宜于以文档为中心的文档。基于表的映射不能处理混 例如,执行下列查询: 合内容模型,基于对象的映射处理混合内容模型也是非常 SELECT Customers.CuID,Orders.OdD,Customers. 低效的。 CName 1、基于表的映射 FROM Customers,Orders 许多转换XML到数据库的中间软件都采用基于表的 WHERE Customers.CuID:Orders.CuID 映射。在下面的XML文档和表之间有明显的映射: <Customers> <Person> <CuID>CUOoo1</CuID> <0rid>0R7845</0rd> <CName>李维</CName> </Person> <Person> <CuID>CUOoo2</CuID> <0rid>0R7846</0rid> <CName>王丽</CName> </Person> </Customers> 图2基于表的映射 ・89・ 维普资讯 http://www.cqvip.com 通过上面的示例我们可以发现,基于表映射的策略中 关键是它把文档看成一个单一的表或组表。在双向的映 射过程中: 基于表的映射通常被中间件用来在XML文档和关系 数据库之间传输数据。它还在某些Web应用服务器中用 来把结果集数据返回为XML。 这种映射有许多缺点,它只能处理XML文档的非常 当数据从XML文档映射到关系数据库的时候,该策 略是根据文档的结构分别将文档中的子元素或属性映射 成数据库中对应表的列(字段)的名称,而文档的内容则对 应于相应的列(字段)的值。这个时候生成的关系表可以 是一个实际的单一物理表或者是虚表——视图。 当数据从关系数据库中映射到XML文档中,该策略 小的子集,只能对符合上述结构的文档进行映射,当XML 文档包括多个复杂嵌套的时候(表是二维关系,一个表是 较难表达嵌套关系的),这种传递方式就不能适应了。 2、基于对象的映射 基于对象的映射就是把XML文档结构映射为对象模 型,然后通过传统的对象——关系映射技术把该模型映射 到关系型数据库。具体而言,就是把一个XML文档表示 将表或者是查询结果的数据按照将各字段数据以子元素 的形式或以属性的形式存储,子元素或属性的名字就对应 了数据库中表的列名。 为由数据对象构成的树,每一个元素类型和对象相对应。 这样一来,我们在把数据库中的数据转换成XML文 在这个模型中,复杂元素(具有子元素和混合内容)通常被 档时,只要把一个表或者一个查询结果的数据插入到相应 视为类。只具有PCDATA内容的元素(简单元素类型)、 的位置即可;而把XML文档数据转换成数据库数据时,只 属性以及PCDATA都被当作简单属性。接着将该模型映 要把内容插入到相应的表或视图中即可 射到关系型数据库,也就是将类映射到表格,简单属性映 这种映射的明显的优点是它的简单性。因为它匹配 射到字段,而对象属性映射为成对的主键/外键(prima— 在关系数据库中的表和结果集的结构,基于这种映射写代 rykey/foreign key)。对象和数据库之间有着明显的对应关 码很容易、快速、缩放自如,并对特定应用非常有用,比如 系,如下图所示。 在数据库之间一次一个表的传输数据。 图3基于对象的映射 有许多问题有待我们进一步去解决:如何对复杂结构的 四结束语 XML文档进行同类处理;如何将这些操作进行集成,并实 本人提出的方法在基于XML的数据转换领域中有广 现计算机的自动处理,从而减少人工干预;如何在信息抽 泛的应用,可以实现大部分的数据转换工作,实现效率也 取过程中完善或改进抽取规则,以生成更加合理并便于处 很高。然而,在XML与数据库进行数据转换的过程中,还 理的XML文档。 参考文献: [1]Charles F.Goldfarb等.XML手册[M].北京:电子工业出版社,2003. E23 Didier Martin,李吉等译.XML高级编程[M].北京:机械工业出版社.2001. E33刘先锋,曹步文.XML与数据库数据的交互技术研究EJ3.计算机工程与应用,2006(32). [43王仲,陈晓鸥.基于XML的数据交换与存取技术研究[J3.计算机工程与应用,2001,(24). [53孙霞,程宏斌.XML数据交换技术在数字化校园中的应用研究[J3.江汉大学学报,2006(3) (责任编辑:胡晋杰) ・90・ 

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- gamedaodao.com 版权所有 湘ICP备2022005869号-6

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务