xml數據存儲
不適合.
XML適合記錄配置文件或者其他的需要移植和共享的數據.
優勢在於使用標準的格式,不同的程序和系統都能看懂.也方便人閱讀.
存儲大量數據時沒有簡單有效的檢索機制,無論查詢還是修改都不便於操作.
用作記錄時適合體積小,可閱讀,可移植的數據.
㈡ 關系資料庫中如何存儲xml數據
XML文檔的一個普通存在的問題是如何持久保存(Persist) XML文檔。在一個關系資料庫中存儲XML文檔是一個非常常用的方法,因為當前關系資料庫的使用非常廣泛。
將XML文檔插入到資料庫中不是簡單的方法,這其中需要很多其它額外的考慮。現在我提供了一些技巧,你可以使用這些技巧在關系資料庫中存儲XML文檔。
1、文檔表:
一個最簡單和容易的方法是,在一個具有單一文本域的資料庫中建立一個表,由此你可以在表中存儲XML數據。由於這些特定資料庫和特定XML文檔,這一文本域可以是一個二進制大型對象(BLOB,binary large object)。有些資料庫需要存儲的是大量的BLOB數據而不是文本。
這一方法的優點是,將數據存入表中變得相當簡單,而且重新獲得也同樣很容易。這種文檔表的管理也很方便。
這種方法的缺點在於你將可能無法進行一些有用的文本搜索,並且在放置特定文檔時也會碰到困難,因為沒有任何方法來識別表中的文檔;
2、主鍵表:
下一個比較復雜的方法是使用一個主鍵表(keyed table)。這種方法與文檔表非常相似,但此時你的表中包含兩個域:一個唯一的主鍵和XML文檔。使用這種方法,你既可以具有存儲和獲得整個XML文檔的簡潔性,也可以使用一些管理這些唯一主鍵的復雜操作;
建立主鍵的一種通用方法是使用XML文檔中的MD5求和檢驗。請記住如果你想在表中包括多份XML文檔,這一方法遠不足夠。在這種情況下,你可以添加額外的key fields標識鍵列。
與文檔表一樣,主鍵表很容易執行,它可以在表中查找特定的文檔。然而,與文檔表一樣,你仍然不能執行任何文本查詢;
3、有限離散表:
這一方法更加復雜,但它給你帶來更多的靈活性。使用有限離散表,你可以建立用於存儲有限分散的XML信息的表,這是什麼意思?請看以下的例子:
假設你具有一個順序文檔。在文檔的根部(Root)有一個Order元素,這一元素包括CustomerInfo, ItemInfo, 以及hippingInfo元素。在資料庫中,你可以建立一個OrderDoc表,表中包含一個ID域,一個CustomerInfoId域,一個ItemInfoId域,一個ShippingInfoId域。然而,你還可以建立一個CustomerInfoId表,一個ItemInfoId表,一個ShippingInfoId表。這些表都包含很多信息相關的各自的ID域,這些信息包括用戶,選項,郵寄信息。在這一表中,還包含著其它額外的等級。比如,CustomerInfo表包含AddressInfo域,即從AddressInfo表中引用的入口。
這種方法的優點是,允許你更緊密地建立XML數據的模型。這種方法使得你進行數據的一些成熟的查詢。它也使得數據的使用性更強,因為你不再需要XML分析器來讀取數據。
不足之處是這種方法需要更多的精力來開發和維護。這意味著每一文檔都需要解析成分離的部分,然後存儲在資料庫中。如果這一過程沒有得以很好管理,有可能會丟失一些數據。而且,這也意味著,當從一個資料庫中獲得一個XML文檔時,你不得不連接這些分散的部分。
㈢ 解釋為什麼xml對數據存儲是非常有用的
1、XML :使用簡單的標記描述數據。
2、XML:主要就是針對數據存儲的。不象ACCESS、SQL等還有分析數據的能力(比如:查找、索引、排序等)
3、XML:更多的平台支持該簡單語言。(如Windows、Mac、Linux等)