在我们的数据库之一中,我们区分了
transactional和
dictionary记录。
简而言之,
transactional记录是您在现实生活中无法回滚的事情,例如来自客户的呼叫。您可以更改呼叫者的姓名,状态等,但是您无法关闭呼叫本身。
Dictionary记录是可以更改的内容,例如将a分配
city给客户。
Transactional记录 和导致 记录的 事物 从未删除,而记录
dictionary可以被删除。
所谓“导致它们的事物”,是指该记录一旦出现在可导致
transactional记录的业务规则中,该记录也将变为
transactional。
就像,
city可以从数据库中删除。但是,当出现一条规则说“向
莫斯科的*
SMS所有客户发送”时,城市也将成为记录,否则我们将无法回答“为什么发送此消息”的问题。
*
transactional``SMS
区别的经验法则是: 这仅仅是我公司的业务吗?
如果我的一名员工基于数据库中的数据做出了决定(例如,他做出了基于某项管理决策的报告,然后该数据报告基于消失了),则删除这些数据被认为是可以的。
但是,如果该决定影响到客户的一些立即行动(例如打电话,打乱客户的余额等),那么导致这些决定的一切都会永远保留。
它可能因一种业务模型而异:有时甚至可能需要记录内部数据,有时可以删除影响外界的数据也可以。
但是对于我们的业务模型,上述规则行之有效。



