我正在编写一个标准的数据库支持的业务应用程序。假设我使用银行账户以及“决定”。决定是用户从一个账户向另一个账户转移资金的选择。每个决定都是在特定的日期进行的。决定可以有一个或多个“源帐户”,每个“源帐户”将有一个或多个“目标帐户”。我们称他们为源帐户,因为这笔钱将离开帐户...而且每一个决策和账户有相关的信息,如姓名,平衡等保存历史数据
用户想查看自己过去的决定,并有着不同寻常的业务需求。默认情况下,当决定时间到了(例如每个月的第一个)时,他希望所有以前的决定都被复制到新的月份。这是因为他很可能会一遍又一遍地做出同样的决定,但他希望在不影响他以前的几个月的情况下灵活地改变任何一个月的决定参数。
作为一个程序员,当用户启动一个新的一个月,我只是在我的决策表中插入新行,但我更新Decision.Date。这样,用户可以每个月更改每个决策的源帐户列表。有没有更好的方法来实现同样的事情,而不需要复制所有的决定?
考虑到用户很少改变决策,COW比滚动数据更有意义。 – 2009-09-27 22:52:47