【问题标题】:Best practices for managing updating a database with a complex set of changes管理具有一组复杂更改的数据库更新的最佳实践
【发布时间】:2011-02-08 02:18:39
【问题描述】:

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

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

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

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

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

提前致谢!

【问题讨论】:

    标签: database undo


    【解决方案1】:

    我会这样做:

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

    【讨论】:

      猜你喜欢
      • 2010-10-20
      • 2010-10-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多