新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   XML论坛     W3CHINA.ORG讨论区     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> Oracle, SQL Server与XML,XML在数据挖掘中的应用, PMML.
    [返回] 中文XML论坛 - 专业的XML技术讨论区XML.ORG.CN讨论区 - 高级XML应用『 XML 与 数据库 』 → XML数据库中几个容易混淆的概念 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 11007 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: XML数据库中几个容易混淆的概念 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     admin 帅哥哟,离线,有人找我吗?
      
      
      
      威望:9
      头衔:W3China站长
      等级:计算机硕士学位(管理员)
      文章:5255
      积分:18406
      门派:W3CHINA.ORG
      注册:2003/10/5

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给admin发送一个短消息 把admin加入好友 查看admin的个人资料 搜索admin在『 XML 与 数据库 』的所有贴子 点击这里发送电邮给admin  访问admin的主页 引用回复这个贴子 回复这个贴子 查看admin的博客楼主
    发贴心情 XML数据库中几个容易混淆的概念

    XML数据库中几个容易混淆的概念
    来源:潇潇雨吧 时间:2003-10-12 16:26:13 票数:31 点击:71   

      当开发人员谈及XML数据库时,他们往往指的是两个概念:存储XML数据的数据库,利用XML数据库的DBMS。绝大多数主要的DBMS产品允许你无需改变现有的数据库就可以集成XML数据到程序中。现在让我们讨论一下XML数据库并探讨其特性。

      原始的XML数据库

      一个原始的XML数据库(NXD)可以是很简单,也可以是很复杂。我这样定义一个数据库的概念:永久稳定数据的集合。在这样的定义下,一个NXD能在逻辑上存储一个XML文档。当XML:DB initiative对一个NXD还有更多的要求时,我想以上的定义也可以满足。

      以下的代码行可以用作于一个NXD:

      〈?xml version=”1.0”?〉
      〈diet〉
      〈meal mealName=”breakfast”〉
      〈item itemName=“toast” unit=”slice” quantity=“2” /〉
      〈item itemName=“bacon” unit=”strip” quantity=“2” /〉
      〈/meal〉
      〈/diet〉

      很显然,数据的集合以XML格式存储。如果它被存放在一个flat文件,它也会满足我们对NXD的定义:永久稳定数据的集合。

      一个NXD使用相同的方式来存储XML文档(比如:flat文件,关系数据库或级别数据库,对象数据库)。

      Flat文件

      一个简单的flat文件是一个最简单的XML数据库模型。作为一种“变种”,你可以存储很多XML文档在一个目录层次。为了扩展前面的范例,看看以下的模型:

    Diets\
    Diets\Atkins
    Day1.xml
    Day2.xml
    Day3.xml
    Day4.xml
    Diets\3DayDiet
    Day1.xml
    Day2.xml
    Day3.xml

      Diets目录包含了子目录,并且每一子目录很多XML的flat文件。

      关系数据库

      关系数据库中的XML数据库可以分为三种模型:coarse-grained(粗糙纹理型), medium-grained(中等级别纹理型),或 fine-grained(优良纹理型)。

      coarse-grained(粗糙纹理型)模型在逻辑上与flat文件模型有些不同。你可以使用一个关系数据库来存放每一个XML文档。例如,以下的代码可以存放一个XML文档:

      Create table diets
      ( dietName varchar2(30),
       xmlDocument varchar2(32000)
      )

      fine-grained(优良纹理型)模型将XML文档的每一成分映射到关系数据库中。为了能够将flat模型转移到关系数据库,你必须使用两种改变方式。对以上的范例,你不能再使用子目录名来代表diet的名称,你也不能再使用文件的名称来传递diet的日期。表A显示了diet的XML文档的文件类型定义(DTD);表B显示了将DTD映射到关系表的数据定义语言(DDL)。除此之外,表C还包括了相应的XML语法。

      medium-grained(中等级别纹理型)模型介于coarse-grained(粗糙纹理)模型与 fine-grained(优良纹理)模型之间。使用这一模型,你可以将信息存储在meals 表的xml_items列中。

      对象数据库

      你也可以通过使用一个对象数据库来执行NXD。有些对象数据库是基于文档对象模型(DOM),这允许XML与数据库有紧密的结合。例如,一旦你提供一个食物方面的DTD,你可以开始保存这些食物,而不需要额外的配置。

      数据库管理系统

      对于DBMS,你可以有多种选择。你可以通过使用开放程序如eXist或Ozone来建立自己的DBMS,或者购买商业产品如Tamino XML Server。

      绝大多数关系数据库卖主都使他们的数据库能够使用XML,至少的,XML数据库(XEDBs)能够返回XML文档查询的结果。另外很多也可以保存XML数据。例如,Oracle 提供了一个XML剖析器,一个Xpath引擎,一个XSLT处理器,一个XMLSQL工具,以及使用XML的方法。

      所以,使用关系数据库存储的NXD和存储XML数据的XEDB有什么区别呢?一个NXD是基于XML文档概念而建立,而XEDB与其它没有过多的关联。而且,很多规范适用于NXD,而DBMS只适用标准的查询和存储数据的XML文档,比如Xpath。

      XML数据库不是新概念

      XML数据库在逻辑观点上不是新概念,虽然在逻辑执行上是新的。如果你想要执行一个XML数据库,你可以使用NXD,XEDB,或者是二者的结合。然而,如果你所在的公司对现有的数据库已经有一定的投资,你所做的第一个调查就是核实你的DMBS卖主是否提供使用XML的工具。无论你使用的哪一种XML数据库方式,你都要非常理解每一种数据库的特性,这才是最重要的。

    转自:动态网制作指南 www.knowsky.com

    (编辑:echo 潇潇雨吧(http://www.xxy8.com))


       收藏   分享  
    顶(0)
      




    ----------------------------------------------

    -----------------------------------------------

    第十二章第一节《用ROR创建面向资源的服务》
    第十二章第二节《用Restlet创建面向资源的服务》
    第三章《REST式服务有什么不同》
    InfoQ SOA首席编辑胡键评《RESTful Web Services中文版》
    [InfoQ文章]解答有关REST的十点疑惑

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2004/6/1 23:25:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 XML 与 数据库 』的所有贴子 点击这里发送电邮给Google AdSense  访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2024/5/10 5:27:06

    本主题贴数1,分页: [1]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    41.016ms