原始的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数据库体式格局,你都要异常明白每一种数据库的特征,这才是最主要的。
以上就是关于XML数据库中几个轻易殽杂的看法详解的内容,更多相关内容请关注ki4网(www.ki4.cn)!