基于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表示的半结构化数据越来越普遍,同时,大量的结构化数据组织存放在关系数据库中。如何集成这些不同结构的数据成为了研究的一个热点。本文设计了一种关系型数据源包装器,它主要具有两个功能模块,一个负责将XQuery查询转换为SQL查询,称为查询转换器;另一个负责将SQL查询返回的元组转换为XML数据格式,称为结果产生器。包装器是一种软件,它相当于数据源的外衣,不影响数据源的本身,它是异构数据集成系统的一个重要组成部分。   关键词:关系数据 查询 转换 XML 包装器 设计   中图分类号:TP311文献标识码:A文章编号:1673-8454(2007)09-0021-03      一、引言      包装器是自治异构数据源集成系统中的重要组成部分,随着与XML有关的标准不断制定和完善,越来越多的数据被用XML表示,然而必须注意的一个事实是,目前和在一个可以预见的未来,大部分应用系统,甚至是新的基于Web的应用系统,仍然将关系数据库系统作为数据存储和查询的首选。关系数据库系统的可靠性、技术的成熟性、丰富的工具、高性能等,都决定了这一点。本文探讨在自治异构数据源集成系统情境下,如何将XQuery查询翻译成SQL查询,如何将关系数据转换为XML数据表示。[1]      异构数据源集成是数据库领域的经典问题,并随着XML技术的兴起,再次成为了该领域研究的一个热点。近年来随着Web逐渐成为信息服务的主导平台,对Web环境下的数据集成系统的研究工作也越来越多。   图1是一个数据集成系统的原型结构示意图。其中,包装器是异构数据源集成系统中的重要组成部分,可以说包装器是一种软件。一个包装器一般针对某一单一数据源而构造,负责将数据和查询请求由一种模式转换成另一种模式。它提供数据集成系统到各个数据源的接口。包装器从功能上来说主要完成两个任务,一是把查询请求由一种模式转换成另一种模式;二是将数据源所返回的特定格式的响应数据翻译成集成系统能够理解的数据格式,包装器相当于数据源的外衣,不影响数据源的本身。每个包装器随数据源的不同而不同,有针对Web文档的半结构化数据源包装器,也有针对关系数据库系统的关系包装器。本文的目的在于设计一种关系型数据源的包装器。      二、关系包装器的设计      面向关系型数据源的包装器最起码应该具有两个功能模块,一个负责将XQuery查询转换为SQL查询,另一个负责将SQL查询返回的元组转换为XML数据格式。[2]我们将前者称为查询转换器,将后者称为结果产生器,查询处理结构如图2所示。      1.查询转换器的设计   (1)将XQuery子查询重写成XML文档   当包装器接收到一个针对关系数据源的XQuery查询时,例如要查询订单号oid为1001的Yang Hui客户定购的图书,如图3所示。首先进行查询重写,将关系数据源上的子查询(XQuery形式)重写成查询XML文档,将被重写成如图4所示的XML文档。   在图4的XML文档中,“Queries”节点包括“Query”、“From”和“where”三个子节点,其中,“Query”子节点用于描述查询内容;“From”子节点表示查询的数据库表;“Where”子节点用于描述查询条件。该文档的含义是:查出订单号为1001的Yang Hui客户定购的图书(包括oid、user、address、bid、title、price),接下来,系统会将生成的查询XML文档转换成SQL语句,进行下一步处理。   (2)将查询XML文档转换成SQL语句   对于关系型数据库的数据源,可采用模板法来定义查询 XML文档与SQL语句之间的映射关系,采用基于DOM的Java解析器ProjectX来解析XML查询文档,提取出其中的查询内容,组织成 SQL语句。[3]   为了使系统可以很容易地将文档的元素和属性映射到其它数据结构或对象分级结构中,也为了在客户端的浏览器和服务器之间传输文件变得方便和可靠,便于XML文件被机器正确识别并理解文档的内容和含义,使得用户可以使用XML文件作为一种中介体让数据在不同的数据源或应用程序之间灵活地进行交换传输,我们需要对XML查询文档定义严格的文档模型DTD,规定各个标签的含义,以及与数据库全局视图中的各部分的一一对应关系。以图4的XML查询文档为例,其对应的文档模型DTD如下:[3]   <!DOCTYPE Query[   <!ELEMENT Query(Item+,From,Where*)>   <!ELEMENT Item(#PCDATA)>   <!ELEMENT From(#PCDATA)>   <!ELEMENT Where(fie

文档评论(0)

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

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

1亿VIP精品文档

相关文档