我使用各種模式編寫和使用XML編寫的技術文檔。我開發了一個相當簡單的Windows Forms應用程序,我們現在在辦公室用作工作流系統。該程序可以簽入,簽出並移動驗證過程。該程序使用通用的'data.xml'文件來讀取和寫入,從中記錄筆記,作者,狀態和其他各種事物。我應該使用關係數據庫來存儲我的XML文檔
但是,此時應用程序指向共享驅動器上的文件夾結構,其中包含每個項目中的所有xml文件以及包含程序項目數據的data.xml文件。所以當有人檢出一個文件時,應用程序只是簡單地將文件從一個文件夾移動到另一個文件夾(用戶不可見),更新data.xml文件,他們更新UI中的listViews。
這工作正常,除非當然有幾個人正在同一個項目,並且客戶端應用程序嘗試同時寫入data.xml文件。
所以我想我想要做的是將整個系統遷移到數據庫。因此,不是將XML文件存儲在文件夾中,而是將它們存儲在SQL等數據庫中。現在我完全沒有數據庫的經驗,所以希望有一個指針能把我朝正確的方向發展。理想情況下,我需要能夠查詢數據庫中的xml文檔,所以我希望能夠使用Xquery,並理想地在所有文件上運行進程。例如,目前我可以在整個項目的客戶端上運行XSLT,他們只是坐在一個文件夾中。
所以我的問題是,我應該看什麼類型的數據庫以保留這種功能?像SQL這樣的關係,或者一個xml數據庫?
注意:xml文件最多爲每個數百Kbs。
感謝您的評論。 xml或至少xml標籤中的內容在文檔和文檔之間是非常不同的。我最終希望以任何方式將它全部存入數據庫,所以我想知道建議哪種方式。謝謝。 – Daedalus 2013-04-24 11:40:13