0

讓我們考慮一個像XML這樣的半結構化數據模型和一個像衆所周知的關係數據模型一樣的結構化數據模型。什麼時候半結構化數據模型比結構化數據模型更合適?

什麼情況下最好將數據存儲在XML數據庫中而不是關係數據庫中?

這顯然取決於我們想要管理的數據的種類,但是有沒有一種特定類型的數據,使用XML數據庫肯定更好?

我可以用XML看到的唯一好處是,如果我們擁有大量空值的實體只會根據屬性'type'的值進行更改,那麼我們可以節省內存。 在XML文件中,我們只是不存儲關係表中將爲空的屬性。

在我看來,還有很多,但我很無能。

+0

什麼是半結構化數據模型? – delnan

+0

它基本上是一個樹形結構,每個節點都有任意數量的子節點。 – Kami

+0

@Max這也是結構化數據。而不是簡單地回答你的問題:「當你有半結構化數據」? –

回答

1

半結構化數據模型僅適用於一種數據:半結構化數據。

也就是說,當你有結構的形式如下數據:

<node> 
    <text>foo</text> 
    <bold> 
     <text>bar</text> 
    </bold> 
    <text>baz</text> 
</node> 

的話很有道理通過擺脫多餘的「文本」節點來壓縮表示:

<node> 
    foo 
    <bold>bar</bold> 
    baz 
</node> 

這就是XML通過嚴格的結構化數據表示所能提供的全部內容。從本質上講,這就是文檔(特別是HTML)。

請注意,這只是約表示。上述兩種數據模型均爲等效,兩者均以樹狀表示。

+0

謝謝,但是這不是保存記憶的問題嗎? – Kami

+1

它可以節省內存,但只是巧合。更重要的是它使文檔更易讀(對於人類而言)。如果你不關心人的可讀性,所有這些都沒有實際意義,只需使用結構化數據即可。 –