代码之家  ›  专栏  ›  技术社区  ›  Naveen

在为企业应用程序创建数据库时,保持创建日期是否有用

  •  0
  • Naveen  · 技术社区  · 14 年前

    谢谢你的建议

    4 回复  |  直到 14 年前
        1
  •  0
  •   jasper johnz    14 年前

    通常最好尽可能保留所有内容,然后在将来可能决定删除某些字段/记录。如果你不留着它,当它不在的时候,它就不在了,你永远也得不到它。如果你存储它,现在,没有理由不存储它,因为空间成本几乎为零,2年后当你需要拉一些你的经理要求的审计报告时,你将拥有这些数据

        2
  •  2
  •   Michael Riley - AKA Gunny    14 年前

    这可能是件好事。我建议你做的第一件事是了解视图。视图只是存储的查询。 观点是你的朋友。

    例如,不必在基表中查找“Where Deleted not null”,您可以创建一个名为viewActiveWhatever的视图,并过滤该视图,使其只生成Delete不为null的数据。记得, .

    软删除(标记为已删除)与硬删除(Poof it's really gone)。这真的会把事情搞得一团糟,这取决于你有什么样的数据结构。

    • 观点是你的朋友 )它工作得很好。

    不是要让这变得更困难,但是,有时在改变之前保留一些东西的外观是很好的。所以,简单地在数据行上放置一个修改日期只会告诉您该行何时被更改。。。它不会告诉你发生了什么变化。

    现在,如果您所引用的数据称为“控制数据”,您可能需要考虑保留一个历史表。然后在每次更新控制表中的记录之前,将当前数据行插入到历史表中,然后进行更新。现在你已经有了一个永久的记录什么是改变了,可以回到过去,看到所有的变化。

    如果在存储过程中执行所有更新,这种记录保存就没有那么困难了。

        3
  •  0
  •   thelost    14 年前

    这取决于您的解决方案所处理的业务。不过,这不应该给你带来麻烦。只需将此功能添加到由所有实体扩展的基类中。

        4
  •  0
  •   Damir Sudarevic    14 年前

    一定比例的人(~2%)会乐意使用你的服务一段时间,然后他们会关闭(尝试删除)他们的帐户,并打电话给Visa/Master card以索赔欺诈。你需要记录他们的活动,并提交给信用卡人,以打击索赔;在“坏商人”名单上与信用卡处理器是非常昂贵的。