您现在的位置是: 软件 > 开发者网络 > 技术跟踪 > XML与.NET专栏 > 正文


-Win xp中的多种网络
-试验试验试验试验
-用Freehand实现位图矢量化
-网络电话面面观

基于XML的数据库总体分析
2001-05-10· ·胡朝晖··yesky

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


  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  下一页

■ 相关内容
 学习使用XML引擎XQEngine
 神奇的XML--突破CGI权限的约束
 用XSL.ASP编辑XML文档
 证券和银行之间转帐系统的设计和实现
 基于XML的桌面应用
 浏览器对XML的支持分析
 电子商务应用体系结构分析
感谢 访问天极网,如果您觉得该文章涉及版权问题,请看这里!