- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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/SelectStmt??????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文档必须类似于下面的格式,如果是单一的表对象的话,database元素就不需要出现了???database??????table?????????row????????????column1.../column1????????????column2.../column2????????????...?????????/row?????????...??????/table??????...???/database????其中的table可理解为单个的结果集?(当数据是从数据库往XML中传输时)或则是一个单独的表对象或则一个可更新的视图(view)(当数据是从XML往数据库传输时)。如果数据是来自多个结果集的描述中(当数据来自数据库中时)或则XML的文档包含有更深层次的嵌套元素,有必要表现成一系列表对象?(当数据要转换到数据库中时),那么类似与上面例子那么简单的传输是不可能的。?????第二种普遍的数据模型是XML文档种的对象树,在这种模型下,元素通常对对应了一个对象或则属性或则PCDATA对象。这种模型直接映射成面向对象的数据库和树状结构数据库,当然借助传统的对象-关系映射技术和SQL?3对象视图也可以映射成关系数据库。要注意的是,这种模型并不是文
您可能关注的文档
- x4-4-01平面直角坐标系.doc
- 刘雄NAT配置实例(易懂).doc
- 刚体定轴转动习题.doc
- X5038《现代战争与舰船知识》大纲.doc
- X52K-1立式升降台铣床.docx
- X53K铣床大修任务说及验收标准.doc
- 刚拿到驾照的新手侧方位停车.docx
- X6服务器客户端设置.doc
- X81-10配电柜安装作业指导书.doc
- 创业大赛小麦胚芽油.doc
- 基于人工智能教育平台的移动应用开发,探讨跨平台兼容性影响因素及优化策略教学研究课题报告.docx
- 高中生物实验:城市热岛效应对城市生态系统服务功能的影响机制教学研究课题报告.docx
- 信息技术行业信息安全法律法规研究及政策建议教学研究课题报告.docx
- 人工智能视角下区域教育评价改革:利益相关者互动与政策支持研究教学研究课题报告.docx
- 6 《垃圾填埋场渗滤液处理与土地资源化利用研究》教学研究课题报告.docx
- 小学音乐与美术教师跨学科协作模式构建:人工智能技术助力教学创新教学研究课题报告.docx
- 《航空航天3D打印技术对航空器装配工艺的创新与效率提升》教学研究课题报告.docx
- 教育扶贫精准化策略研究:人工智能技术在区域教育中的应用与创新教学研究课题报告.docx
- 《区块链技术在电子政务电子档案管理中的数据完整性保障与优化》教学研究课题报告.docx
- 《中医护理情志疗法对癌症患者心理状态和生活质量提升的长期追踪研究》教学研究课题报告.docx
文档评论(0)