員談及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文件。