使用一组复杂的更改管理更新数据库的最佳实践

时间:2010-04-14 20:01:46

标签: database undo

我正在编写一个应用程序,我在数据库中有一些公开信息,我希望用户能够编辑。这些信息不像维基文字,但在概念上类似,因为编辑使公共信息越来越接近真相。这些更改将影响多个表,并且在影响公用表之前需要自动检查更新。

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

  1. 我想提供撤消功能。
  2. 我想向用户显示所有更改的综合结果。
  3. 当用户说他们已经完成时,我需要检查基础公共数据,以确保其他人没有更改过。
  4. 我目前的计划是让用户在一组表格中设置为私人工作区域。一旦他们准备好,他们就可以开始一个过程来检查所有内容并更新公共表格。可以使用命令模式保存到表格来记录撤消。

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

    提前致谢!

1 个答案:

答案 0 :(得分:0)

我会这样做:

  • 使用仅插入数据库,永远不更新数据只添加新行
  • 每行都有一个有效的日期,一个有效的日期和谁做出了更改
  • 通过查询读取数据,其中有效日期= null,行被批准,这给出了最新的行
  • 当用户添加数据时,他可以通过选择他添加的最后一行来查看他的更改
  • 当用户对他所做的更改感到满意时,他可以将其标记为已批准
  • 当他们获得批准时,其他用户可以看到
  • 撤消不是问题,因为您拥有所有以前的版本,您可以将行标记为不再被批准并恢复为以前的版本。
相关问题