【编程开发】AspAsp.NetCGIPHPJspXMLPERLC++C#VCVBDelphiPowerBuilderJAVA汇编数据库编程移动开发其它语言

您现在的位置:首页 > 网络学院 > 编程开发 > XML > 基于XML的数据库总体分析

基于XML的数据库总体分析

来源: 作者: 日期:2006-08-11

【聚杰网XML】基于XML的数据库总体分析



  2 表格模型:许多中间件软件包用表格模型在XML文档和关系数据库之间传递数据。它把XML文档表示为一个单一的表格或者是表格的集合。这样,一个XML文档的结构可以用如下的形式表示:

  <database>
  <table>
  <row>
  <column1>...</column1>
  <column2>...</column2>
  ...
  </row>
  ...
  </table>
  ...
  </database>

  这里关键字"talbe"在把数据从数据库传递到XML文档的时候,表示一个单一的结果集,把数据从XML文档传递到数据库的时候,表示表示一个单一的表格或者视图。但是,当结果集合不只一个的时候,或者当XML文档包括多个复杂嵌套的时候,这种传递方式就不能适应了。

  2 数据专用的对象模型:把一个XML文档表示为由数据对象构成的树,每一个元素类型和对象相对应。主要在面向对象和层次数据库中使用,通过传统的关系-对象模型也可以映射到关系数据库中。注意这种模型并不是文档对象模型(DOM)。比如,销售订单文档可以被看成一个对象树,其中包括五个类:Orders, SalesOrder, Customer, Line, 和Part。如下所示:



  当把一个XML文档看成是一个以数据为中心的对象树的时候,元素不一定和对象相对应,比如,一个元素只包含PCDATA,它能够被当成一个属性,它包括一个单一的,标量值。

  实际上在XML和数据库之间进行数据转化的时候,需要考虑两个过程:一个是从数据库模式中产生DTD,另外一个是根据DTD生成数据库模式

  从一个DTD中生成一个关系模式的步骤如下:

  1. 对每一个元素,产生一个表和一个主键列。

  2. 对每一个有混合内容的元素,产生一个独立的表格,用来存储PCDATA,并通过父表的主键和父表相联。

  3. 对元素类型中的每一个单一值的属性,对具有只有PCDATA内容的子元素(该子元素按顺序出现),产生一个单独的列,如果子元素类型或者值是可以选择的话,该列就应该可以允许为NULL类型。

  4. 对有多个值的属性和可以出现多次的子元素(该子元素PCDATA)的话,需要创建一个单独的表来存储这些值,并通过父表的主键和父表相联。

  5. 对每一个包含元素或者混合内容的子元素来说,通过父表的主键把父元素和子元素联接起来。

  从一个关系数据库模式构建DTD步骤如下:

  1. 对每一个表,创建一个元素。

  2. 对表中的每一列,创建一个属性或者是一个只有PCDATA 内容的子元素。

  3. 根据表中的每一主键/外键关系,创建该表元素的子元素。


上一页 1 2 3 4 5 6 7 8 下一页

评论   点击查看全部评论
您的评论参与,将为聚杰带来更大的动力!请不要吝啬!
快速回复
请使用文明语言让我们维护健康绿色网络环境!

匿名发表   验证码: