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


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

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

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


  基于XML的数据库产品分类

  根据Ronald Bourret在XML Database Products一文中的描述,XML Database中包含有七种类型的产品,分别为:

  2 中间件(Middleware )

  1、 与XML相结合能驱动XML的数据库(XML-Enabled Databases),比如Oralce和微软都宣称在它们最新的数据库产品都都能够和XML进行无缝的衔接。

  2、 原始的XML数据库(Native XML Database)

  3、 XML服务器(XML Servers)

  4、 XML应用服务器,比如IBM的WebSphere

  5、 内容管理系统(Content Management Systems)

  2 可持久化的DOM实现(Persistent DOM Implementations)

  下面我们对每一种产品做一个具体的说明和介绍

  中间件:所谓中间件就是用来在XML文档和数据库之间进行处理和转化的软件。主要应用于以数据为中心的应用里面,它可以用各种各样的语言编写,一般来说它需要用到ODBC, JDBC,或者是 OLE DB. 尽管它可以通过Internet进行是数据的传输,但是一般它都是通过Web服务器来实现数据的传输。

  下面我们需要考虑当把XML文档存储到数据库中,如何选择适合你应用程序的中间件。

  实际上,在我们选择中间件的时候,我们要考虑下面一些因素

  1. 数据类型: XML不支持数据类型,也就是说,在XML文档中的所有数据都是文本,即使数据它本身代表了另外一种数据类型,比如日期或者整数。通常,数据传输中间件将把数据转化为其他类型。

  2. 二进制数据处理:有两种通常的方法存储XML文档中的二进制数据:未经过解析的实体(unparsed entities)和Base64编码。

  3. Null类型处理:在关系数据库世界中,NULL表示该数据不存在,它和0或者是空字符串当然是不一样的。当然,XML也支持NULL的概念。如果一个可选择的元素类型或者属性是NULL的话,它就不包括在这个文档里面。当映射一个XML文档的结构到数据库或者根据数据库内容生成XML文档的时候,你需要考虑可选元素类型和属性跟可NULL的列之间的映射。

  4. 字符集:一个XML文档可以包含任何Unicode字符,而不幸的是,许多数据库并不支持Unicode。因此如果你的数据包括非ASCII字符的时候,需要注意数据库和中间件对这些字符的处理。

  5. 关于XML中的处理指令:处理指令并不是XML文档中的数据,因此中间件就很难决定如何存储它们。所以在选择中间件的时候,要看它们对处理指令的处理情况。

  6. 标记存储:注意不同的中间件对标记的处理是不一样的。而且在数据库中的存储模式也不同,见下面的例子:

  <description>
  <b>Confusing example:</b>
  </description>

  在数据库中存储的形式如下:

  <b>Confusing example:</b> <foo/>

  这主要是因为数据库不能识别<b>和<foo>是标记还是文字。

  典型的中间件有:

  ADO:它可以实现数据库和XML文档之间的双向转换。XML支持把一个记录集合对象保存为一个XML文档,它也能够把一个XML文档作为一个记录集合进行处理,这样就在XML文档和数据库之间提供了一个桥梁。这种映射实际上是模型驱动的,数据可以被看成是一棵对象树,一个具有嵌套结构的树可以作为一个嵌套的记录结果集被显示,反之也是如此。另外,如果记录集合数据有变化的话,可以反映到相应的XML文档中,而XML文档中内容的变化也可以导致数据库内容的变化。

  ASP2XML:主要是通过一个COM对象实现XML文档和基于ODBC或者是OLE DB的数据库之间数据的传递。该产品实际上是基于模型驱动的,把XML文档看成是一个单一的表,当把数据从数据库传递到XML文档的时候,用户指定一个SELECT语句,输出包含了ASP2XML专用的标签。当把XML文档的数据传递到数据库的时候,XML文档必须包含ASP2XML专用的标签。该COM对象是支持自动化的,也就是说它能够在剧本语言中使用,比如ASP。

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

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