當開發(fā)人員談及XML數(shù)據(jù)庫時,他們往往指的是兩個概念:存儲XML數(shù)據(jù)的數(shù)據(jù)庫,利用XML數(shù)據(jù)庫的DBMS。絕大多數(shù)主要的DBMS產(chǎn)品允許你無需改變現(xiàn)有的數(shù)據(jù)庫就可以集成XML數(shù)據(jù)到程序中。現(xiàn)在讓我們討論一下XML數(shù)據(jù)庫并探討其特性。
原始的XML數(shù)據(jù)庫
一個原始的XML數(shù)據(jù)庫(NXD)可以是很簡單,也可以是很復雜。我這樣定義一個數(shù)據(jù)庫的概念:永久穩(wěn)定數(shù)據(jù)的集合。在這樣的定義下,一個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〉
很顯然,數(shù)據(jù)的集合以XML格式存儲。如果它被存放在一個flat文件,它也會滿足我們對NXD的定義:永久穩(wěn)定數(shù)據(jù)的集合。
一個NXD使用相同的方式來存儲XML文檔(比如:flat文件,關系數(shù)據(jù)庫或級別數(shù)據(jù)庫,對象數(shù)據(jù)庫)。
Flat文件
一個簡單的flat文件是一個最簡單的XML數(shù)據(jù)庫模型。作為一種“變種”,你可以存儲很多XML文檔在一個目錄層次。為了擴展前面的范例,看看以下的模型:
Diets\ Diets\Atkins Day1.xml Day2.xml Day3.xml Day4.xml Diets\3DayDiet Day1.xml Day2.xml Day3.xml
Diets目錄包含了子目錄,并且每一子目錄很多XML的flat文件。
|