XML与数据库编程(2)

XML与数据库编程(2)

ID:41033030

大小:37.00 KB

页数:5页

时间:2019-08-14

XML与数据库编程(2)_第1页
XML与数据库编程(2)_第2页
XML与数据库编程(2)_第3页
XML与数据库编程(2)_第4页
XML与数据库编程(2)_第5页
资源描述:

《XML与数据库编程(2)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、4.2 将文档结构映射成数据库结构    为了能够在XML文档和数据库之间传递数据,有必要将文档的结构映射成数据库的结构,反之亦然,这种映射关系又分两类:模板驱动和模型驱动4.2.1 以模板驱动的映射    以模板驱动的映射, 这种映射没有预先定义文档结构和数据库结构之间的映射关系,而是使用将命令语句内嵌入模板的方法,让数据传输中间件来执行该模板。例如,考虑下面的模板(注意该模板并不适应与所有的产品),在元素中内嵌了SELECT选择:            The following f

2、lights have available seats:      SELECT Airline, FltNumber, Depart, Arrive FROM Flights      We hope one of these meets your needs      当数据传输中间件处理到该文档时,每个SELECT选项都将被他们各自的结果所替换,   得到下面的XML格式:       

3、     The following flights have available seats:                           ACME            123            Dec 12, 1998 13:43            Dec 13, 1998 01:21                  ...      

4、hts>      We hope one of these meets your needs       这种以模板驱动的映射方法相当灵活。例如,一些产品允许你在最后的结果中替换你想要的内容 -- 包括在SELECT中使用参数 -- 而不是象上面的例子中简单地格式化结果。另外它还支持使用编程结构例如循环和条件判断结构。还有就是它支持通过HTTP的传递参数。    目前,以模板驱动的映射仅仅只支持从一个关系数据库转换成XML文档的情况。4.2.2 以模型驱动的映射    在以模型驱动的映射模式中,它的原理就是利用XML文档

5、中的数据模型的结构显性或隐性地将其映射成数据库的结构,反之亦然。它的缺点是灵活性不如模板驱动方式,但是优点是简单易用,这是因为它是基于具体的数据模型来进行映射的,通常它能够自己完成很多地转换工作,从而简单易用。因为将数据从数据库转换成XML的工作是根据单一的一个模型(模型),所以通常在这种方式下还要综合搭配XSL来提供灵活性。    在XML文档中有两种模型是非常普遍的。第一种是被许多中间件包在转换XML文档成关系数据库数据所使用到的模型,就是将XML文档当成一个单独的表(Table)对象或则一系列表对象。也就是说,真正的XML文档必须类似于下面的格式,如果是单一的表对象的话,

6、ase>元素就不需要出现了         

                     ...            ...            ...                  ...      
      ...       其中的"table"可理解为单个的结果集 (当数据是从数据库往XML中传输时)或则是一个单独的表对象或则一个可更新的视图(view)(当数据是从XML往数据库传输时)。如果数据是来自多个结

7、果集的描述中(当数据来自数据库中时)或则XML的文档包含有更深层次的嵌套元素,有必要表现成一系列表对象 (当数据要转换到数据库中时),那么类似与上面例子那么简单的传输是不可能的。     第二种普遍的数据模型是XML文档种的对象树,在这种模型下,元素通常对对应了一个对象或则属性或则PCDATA对象。这种模型直接映射成面向对象的数据库和树状结构数据库,当然借助传统的对象-关系映射技术和SQL 3对象视图也可以映射成关系数据

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。