基于XML的异构数据库访问的研究.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于XML的异构数据库访问的研究

基于XML的异构数据库访问的研究 引言 随着信息技术的不断发展,为了充分利用各信息系统的资源,应用程序就需要经常对各种异构数据库进行访问,然而由于各个数据库在数据格式、存储方式等方面的不同,导致了用户对数据库的访问显得非常不便。然而,XML技术的出现无疑为访问异构数据库带来了新的希望。 XML代表eXtensible Markup Language(可扩展标记语言)。XML文档由标记(tag)和字符数据(实体)组成,标记将文档分成许多部件并对这些部件加以标识,它表示文档的逻辑结构,并将字符数据连接在一起,而字符数据才是文档真正的内容。 XML语言具有如下几个突出的优点: XML不仅可以表达数据的内容,同时可以用元素及其属性表达对象的内部结构和对象间的链接,从而在描述数据内容的同时能突出对结构的描述,从而体现出数据之间的关系; 针对特定的应用,开发人员可创建特定的数据类型; XML的元素可以嵌套,一个元素可以完全包含在另外的一个元素之中,能方便地表示层次结构,可以描述扩展的关系模型和面向对象的数据模型。所以,我们能将关系数据库中的数据在不丢失原语义的情况下转化为XML数据。 正是XML语言具有的这些优点,使得它本质上十分适合作为各异构数据库进行数据交换的格式。 1 异构数据库访问的解决方案 中间件出现以前,在传统的数据库访问方式中,应用程序一旦要访问多个数据库,就需要和每个数据库建立特定接口,由于不同的数据库在数据格式、存储方式等方面的不同,各个数据库之间的信息交互非常困难,而且系统开发的复杂度大,扩展性差[2]。针对这种情况,本文提出了采用XML作为数据交换载体,使用中间件技术来实现异构数据库访问的模型,如图1所示,中间件对外表现为统一的标准接口,通过接口实现对异构数据库的访问请求。这种方法比起传统的异构数据库访问方式大大提高了系统的效率和性能,有利于系统的扩展。 2 基于XML的异构数据库访问 如图1所示,在此模型中,用户不是直接访问数据库,而是通过中间层来实现。中间层响应用户接口(User Interface)的请求,此用户请求将被转化为XML格式,QE(Query Engine,查询引擎)对照QEV(Query Engine View, 查询引擎视图)将用户请求分配到对各个异构数据库的XML子查询,查询结束后,结果将被转换为XML文件,中间层再根据QEV将这些XML文件进行合并,提供给用户接口。中间件为访问异构数据库提供了统一的接口,而XML则屏蔽了各异构数据库之间的差别,为数据交互提供了方便。 2.1查询引擎视图(QEV) QEV主要解决关系模式和XML模式之间的映射,其主要内容包括对各异构数据源的内容描述信息和关系模式到XML Schema的全局映射视图。QEV为异构数据库的信息共享交换构建统一的用户查询视图,其建立包括两个步骤:关系模式的提取,以及将关系模式转化为XML文档的XML Schema。 1).关系模式的提取: 关系模式的提取主要是对异构数据库关系模式的获取,该步骤主要是构建已有的异构数据库的关系模式(包括表、字段、属性、主键和外键等),保证数据提取的完整性,为进一步的模式转化提供基础。对于关系模式的提取,可以通过Java JDBC中的API函数来读取关系数据库的元数据,具体可以采用两个数组来进行存取,一维数组存储异构数据库中的关系表,二维数组用来存储每个表的属性字段名称、字段类型、可否空、主键和外键属性等。 2).关系模式到XML Schema的转化我们采用的算法步骤如下: a. 产生XML Schema正确的命名空间信息; b. 对每一个关系表R及其属性A1,A2,…An,可以产生一个复合类型元素R-RecType和子元素A1,A2,…,An,另外,如果关系表R中 A1,A2,…,An的某个属性可以为值NULL,则相应地将复合类型元素R-RecType中相关元素的nillable属性设置为true; c. 对每一个关系表R,产生一个复合类型元素R-RelType和R-RecType类型的子元素R,对每一个子元素R,设置其minoccurs属性为0,maxoccurs属性为unbounded; d. 在这一步中数据库模式元素将被产生。对于数据库DB和关系表R1,R2,…,Rm,在XML Schema中增加一个元素DB,并插入一个复合类型元素,其子元素为R1-Rel,R2-Rel,…,Rm-Rel,相对应的数据类型为R1-RelType,R2-RelType,…,Rm-RelType; e. 对于每一个关系表R,如果存在由属性A1,A2,…,Aj所组成的主码,则在数据库模式元素中插入一个key标记,并增加一个selector标记,且设置其xpath属性值为dbns:R-Rel/dbns:R,另外,再为

文档评论(0)

xjj2017 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档