2010-04-14 74 views
0

我正在编写一个应用程序,我在数据库中有一些公开可用的信息,我希望用户能够编辑。这些信息并非像维基这样的文本,而是在概念上相似,因为编辑会使公共信息越来越接近真相。这些更改将影响多个表,并且在影响公用表之前需要自动检查更新。用一套复杂的变更管理数据库管理的最佳实践

我正在设计,我想知道是否有任何最佳实践可能有助于解决某些特定问题。

  1. 我想提供撤消功能。
  2. 我想向用户显示所有更改的组合结果。
  3. 当用户说他们已经完成时,我需要检查底层的公共数据以确保其他人没有更改它。

我目前的计划是让用户在一组表中设置一个私人工作区。一旦他们准备好了,他们就可以启动一个流程来检查一切并更新公共表格。使用命令模式将撤消记录保存到表格中。

是否有任何技术我可能错过了或有用的论文或模式?

在此先感谢!

回答

0

我会做这样的:

  • 使用只插入数据库,你永远不更新数据只添加新行
  • 每一行都有从日期有效,有效日期和谁做的改变
  • 读通过查询其中有效迄今为止= null,而该行批准的数据,这给最近的排
  • 当用户添加数据,他可以通过选择最后一排看他的变化,他加入
  • 当用户满意,他做出了他可以将其标记为批准
  • 当他们被批准,他们可以被其他用户看到
  • 撤销是没有问题的变化,因为你把所有以前的版本,你可以将行标记为不再被批准并恢复到以前的版本。