2010-04-14 71 views
0

我正在編寫一個應用程序,我在數據庫中有一些公開可用的信息,我希望用戶能夠編輯。這些信息並非像維基這樣的文本,而是在概念上相似,因爲編輯會使公共信息越來越接近真相。這些更改將影響多個表,並且在影響公用表之前需要自動檢查更新。用一套複雜的變更管理數據庫管理的最佳實踐

我正在設計,我想知道是否有任何最佳實踐可能有助於解決某些特定問題。

  1. 我想提供撤消功能。
  2. 我想向用戶顯示所有更改的組合結果。
  3. 當用戶說他們已經完成時,我需要檢查底層的公共數據以確保其他人沒有更改它。

我目前的計劃是讓用戶在一組表中設置一個私人工作區。一旦他們準備好了,他們就可以啓動一個流程來檢查一切並更新公共表格。使用命令模式將撤消記錄保存到表格中。

是否有任何技術我可能錯過了或有用的論文或模式?

在此先感謝!

回答

0

我會做這樣的:

  • 使用只插入數據庫,你永遠不更新數據只添加新行
  • 每一行都有從日期有效,有效日期和誰做的改變
  • 讀通過查詢其中有效迄今爲止= null,而該行批准的數據,這給最近的排
  • 當用戶添加數據,他可以通過選擇最後一排看他的變化,他加入
  • 當用戶滿意,他做出了他可以將其標記爲批准
  • 當他們被批准,他們可以被其他用戶看到
  • 撤銷是沒有問題的變化,因爲你把所有以前的版本,你可以將行標記爲不再被批准並恢復到以前的版本。