论文首页哲学论文经济论文法学论文教育论文文学论文历史论文理学论文工学论文医学论文管理论文艺术论文 |
摘 要:XML 的可扩展性和自描述性以及其它特性为异构数据交换提供了新的思路。基于XML 本文提出了1种异构数据交换的方法,并结合应用实例给出了它的具体的实现过程。
关键词:异构数据库,数据交换, XMLSchema,XML
中图法分类号:TP311 文献标示码:A
Keywords: Heterogeneous databases, Data exchange, XML Schema, XML
1 前言 毕业 网
数据库应用发展到今天,己有相当数量的企业和科研机构积累了大量的、以不同形式存储的、依赖于不同数据库管理系统的数据,如何共享这些数据信息,是企业进1步发展所需解决的问题。另外,由于历史等原因,Internet上的数据库系统不少也是分布、异构的,Internet上大量信息必须通过数据库系统才能有效管理,如何合理地使用这些异构数据库,己成为当前急待解决的问题。异构数据库系统是相关的多个数据库系统的集合,用以实现数据的共享和透明访问。异构数据库系统的异构性主要体现在以下几个方面: 1)计算机体系结构的异构。2)基础操作系统的异构。3) DBMS本身的异构。本文中讨论的异构数据库属于第3种类型,即在不同DBMS的两个异构数据库系统间(Oracle数据库和SQL Server数据库)进行信息交流。
2 XML与数据库
2。1 XML及其相关技术
XML即为“可扩展的标记语言”(eXtensible Markup Language ),是1套定义语义标记的规则。是由W3C组织于1998 年2月制定的1种通用语言规范, 是SGML的简化子集, 专门为Web 应用程序而设计。XML 作为1种可扩展性标记语言, 其自描述性使其非常适用于不同应用间的数据交换, 而且这种交换是不以预先规定1组数据结构定义为前提。XML 的最大优点是对数据描述和数据传送能力, 因此具备很强的开放性。
为了对XML文档的结构与允许值进行定义和检查,有两种办法:1是使用DTD文档类型定义;2是使用XML Schema。这两者均为XML规范的1部分。DTD的用途很多,可用来定义内容的模式、限制数据的范围、限制属性的数据类型等。但DTD也有1些不足之处:DTD本身不符合XML规范;它不支持名称空间(Namespace);扩展性差;数据类型有限等。 XML Schema相对于DTD的明显好处是Schema文档本身符合XML规范,而不是象DTD那样使用特殊格式。用户与开发者可以使用相同的工具来处理XML Schema,而不必使用特殊的工具。 (科教作文网http://zw.ΝsΕac.cOM编辑)
2。2 关系数据库与XML之间的映射方法
根据映射关系的建立方式不同,我们可以得到两种数据转换方法:基于模板驱动的转换方法和基于模型驱动的转换方法。
2。2。1基于模板驱动的映射方法
基于模板的映射方法并不预先定义好XML文档与其他数据之间的映射关系,而是在XML文档中嵌入带参数的SQL命令。这些命令在转换过程中被系统所识别和执行,执行的结果被替换到指令所在的位置,从而生成目标XML文档,并用数据传输诸如中间件等实体软件进行处理。基于模板的转换方法的好处在于转换的步骤比较简单,只要给出模板,就可以快速地生成相应的XML文档。不足之处在于,基于模板驱动的映射是1种浅层映射,以XML内嵌的SQL执行的数据结果集为依据,不涉及数据库赖以存在的关系模式,它只是将关系数据库的数据转换为XML文档,并没有提取出关系模式,它舍弃了关系模式的种种约束条件,因此对于反向的转换更是无能为力。
2。2。2基于模型驱动的映射方法
基于模型驱动的映射,当把数据从数据库传送到XML文档或把数据从XML文档传送到数据库时,不是仅仅依赖内嵌SQL命令,而是用1个具体的模型实现的。基于模型的转换方法用这个预先定义好的数据模型来映射XML与关系数据库数据之间的关系。基于模型的转换方法的关键在于设计1个灵活的映射模型,为了更好的支持其逆向映射的特点,这个映射模型必须是易于“读懂”的、易于操纵的,能够很好的与达关系数据库的各种约束。关系数据库的理论依据是关系模型,而XML文档的依据是XML Schema或DTD等。本文将用XML Schema来描述关系数据。
3。 应用实例
在本文中,数据库的异构主要是DBMS的异构,1个是Oracle的DBMS,1个是SQL Server的DBMS,我们以学校学生管理系统为例。该系统分为院和系两部分。各系里的管理系统其前端开发上具是Sybases公司的PowerBuilder 9。0,后台数据库系统是Oracle公司的Oracle 8i。另外,学院有1套自己的管理软件,该软件后台数据库服务器为Microsoft公司的SQLServer 2005,为了达到系向院级实时传递学生管理信息和保持信息1致性的目的,且考虑到学生管理信息数据量大、重要性高的特点,需要设计1种高效、安全的数据传送方法来实现学生信息的交流。正是在此背景下,设计了1种利用XML来实现这两个异构数据库信息交流方法。 (科教论文网 lw.NsEac.com编辑整理)
本系统具体实现总体上可分为两个部分,其1是客户端Oracle数据库中的数据到XML文档的映射过程,其2是XML文档到SQL Server数据库的映射过程。由于本系统实现的木的是将各系学生管理系统数据库中的“有效信息”根据需要上传到学院管理系统的数据库中,所以客户端和服务器端的实现都是以SQL Server数据库的关系模式为基础,即以SQL Server数据库中的表及其相互关系为基础的,客户端上传的数据必须符合学院的管理系统的标准。
从目的和技术两个方面出发,依据本系统的具体特点,本系统实现的第1步就是通过SQL Server关系数据库将关系模式映射为XML模式,即通过关系数据库中具体的表及其相互关系,映射为标准的XML文档描述语言XML Schema。从而为客户端生成XML文档提供1个格式上的标准。下面是整个系统的具体实现。
3。1 SQL Server数据库中表及其相互关系
学生信息在SQL Server数据库中有两个表,这两个表中的数据正是我们交换的信息,各个表的信息和表之间的约束关系如下:
表1(学生基本信息表):
Table studet(
Id char(10) not null,//学号
name char(15) null,//姓名
sex char(2) null,//性别 毕业 网
class char(10) null,//所在班级
age Integer null,//年龄
constraint PK_student primary key(Id)
)
表2(班级情况表):
Table depart(
class char(10) not null,//班级
boy_num Integer null,//男生人数
girl_num Integer null,//女生人数