当开发人员谈及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文件。