XML与数据库编程.docVIP

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

4.2?将文档结构映射成数据库结构 ????为了能够在XML文档和数据库之间传递数据,有必要将文档的结构映射成数据库的结 构,反之亦然,这种映射关系又分两类:模板驱动和模型驱动 4.2.1?以模板驱动的映射 ????以模板驱动的映射,?这种映射没有预先定义文档结构和数据库结构之间的映射关系 ,而是使用将命令语句内嵌入模板的方法,让数据传输中间件来执行该模板。例如,考虑下面 的模板(注意该模板并不适应与所有的产品),在SelectStmt元素中内嵌了SELECT选 择: ????xml?version=1.0? ???FlightInfo ??????IntroThe?following?flights?have?available?seats:/Intro ??????SelectStmtSELECT?Airline,?FltNumber,?Depart,?Arrive?FROM?Flights/Se lectStmt ??????ConcludeWe?hope?one?of?these?meets?your?needs/Conclude ???/FlightInfo ???当数据传输中间件处理到该文档时,每个SELECT选项都将被他们各自的结果所替换, ???得到下面的XML格式: ????xml?version=1.0? ???FlightInfo ??????IntroThe?following?flights?have?available?seats:/Intro ??????Flights ?????????Row ????????????AirlineACME/Airline ????????????FltNumber123/FltNumber ????????????DepartDec?12,?1998?13:43/Depart ????????????ArriveDec?13,?1998?01:21/Arrive ?????????/Row ?????????... ??????/Flights ??????ConcludeWe?hope?one?of?these?meets?your?needs/Conclude ???/FlightInfo ????这种以模板驱动的映射方法相当灵活。例如,一些产品允许你在最后的结果中替换 你想要的内容?--?包括在SELECT中使用参数?--?而不是象上面的例子中简单地格式化结果。 另外它还支持使用编程结构例如循环和条件判断结构。还有就是它支持通过HTTP的传递 参数。 ????目前,以模板驱动的映射仅仅只支持从一个关系数据库转换成XML文档的情况。 4.2.2?以模型驱动的映射 ????在以模型驱动的映射模式中,它的原理就是利用XML文档中的数据模型的结构显性或 隐性地将其映射成数据库的结构,反之亦然。它的缺点是灵活性不如模板驱动方式,但是优点 是简单易用,这是因为它是基于具体的数据模型来进行映射的,通常它能够自己完成很多地转 换工作,从而简单易用。因为将数据从数据库转换成XML的工作是根据单一的一个模型(模型), 所以通常在这种方式下还要综合搭配XSL来提供灵活性。 ????在XML文档中有两种模型是非常普遍的。第一种是被许多中间件包在转换XML文档成 关系数据库数据所使用到的模型,就是将XML文档当成一个单独的表(Table)对象或则一系列表对 象。也就是说,真正的XML文档必须类似于下面的格式,如果是单一的表对象的话,databa se元素就不需要出现了 ???database ??????table ?????????row ????????????column1.../column1 ????????????column2.../column2 ????????????... ?????????/row ?????????... ??????/table ??????... ???/database ????其中的table可理解为单个的结果集?(当数据是从数据库往XML中传输时)或则是 一个单独的表对象或则一个可更新的视图(view)(当数据是从XML往数据库传输时)。如果数 据是来自多个结果集的描述中(当数据来自数据库中时)或则XML的文档包含有更深层次的嵌套 元素,有必要表现成一系列表对象?(当数据要转换到数据库中时),那么类似与上面例子那么 简单的传输是不可能的。 ?????第二种普遍的数据模型是XML文档种的对象树,在这种模型下,元素通常对对应了 一个对象或则属性或则PCDATA对象。这种模型直接映射成面向对象的数据库和树状结构 数据库,当然借助传统的对象-关系映射技术和SQL?3对象视图也可以映射成关系数据库。要注意 的是,这种模型并不是文

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档