2010-08-06 87 views
1

我最近一直負責與改善是由以下的記錄數據庫:數據庫的記錄存儲與revisioning

  • 所有的記錄都存儲在一個巨大的 XML文件。
  • 這些記錄的任何更改或更新都是在 這個XML文件中手工完成的。
  • 每個記錄包含 '更新'的日期時間戳以保留 某種形式的修訂控制。
  • 整個XML文件也被檢入 一個subversion版本庫,以保持 版本控制整個 集合。
  • 此記錄數據庫僅限內部使用,不會面臨任何公共接口。

我對數據庫設計有點新手,但上面的方法感覺有點麻煩。我正在考慮將上述所有內容都轉換爲某種形式的SQLite數據庫,並構建某種形式的前端以更新/刪除/查看條目,同時跟蹤對該數據庫的任何更改。有沒有更好的方法來做到這一點,或者是否已經有一個像系統一樣的標準?

+0

這實際上取決於有多少程序/進程使用當前格式,以及使用的複雜程度。如果只有一兩個進程需要清理,如果它在數百臺客戶端機器上的數十個程序,而不是讓它獨立的話! – 2010-12-01 08:23:10

回答

1

將信息放入數據庫是一個很好的解決方案。另一個體面的解決方案是製作每個記錄自己的文件,並使用修訂控制系統來跟蹤每個記錄的變化。這比使用一個glommed-together文件更有效率:-)。

+0

將每條記錄放入其自己的文件實際上聽起來不太糟糕。可能大概有4到5種不同的記錄,大約有200個記錄,所以我們在這裏沒有說太大的話。 – Nick 2010-08-06 16:48:28

0

實際上聽起來不好!取決於其更新和多少程序讀取XML的頻率。

我會盡量根據上述方法。

首先得到像XML間諜這樣漂亮的XML驗證編輯器之一,並定義一個XML模式if或xsd,如果你還沒有得到一個。你現在有一個乾淨的用戶界面,可以更新和驗證文件。繼續使用修訂控制系統來保留歷史記錄。其次 - 如果更新非常簡單,可以編寫一個快速的Java/C#/ VB或任何程序來更新XML - 否則像以前一樣繼續。

相關問題