我正在編寫一個標準的數據庫支持的業務應用程序。假設我使用銀行賬戶以及「決定」。決定是用戶從一個賬戶向另一個賬戶轉移資金的選擇。每個決定都是在特定的日期進行的。決定可以有一個或多個「源帳戶」,每個「源帳戶」將有一個或多個「目標帳戶」。我們稱他們爲源帳戶,因爲這筆錢將離開帳戶...而且每一個決策和賬戶有相關的信息,如姓名,平衡等保存歷史數據
用戶想查看自己過去的決定,並有着不同尋常的業務需求。默認情況下,當決定時間到了(例如每個月的第一個)時,他希望所有以前的決定都被複制到新的月份。這是因爲他很可能會一遍又一遍地做出同樣的決定,但他希望在不影響他以前的幾個月的情況下靈活地改變任何一個月的決定參數。
作爲一個程序員,當用戶啓動一個新的一個月,我只是在我的決策表中插入新行,但我更新Decision.Date。這樣,用戶可以每個月更改每個決策的源帳戶列表。有沒有更好的方法來實現同樣的事情,而不需要複製所有的決定?
考慮到用戶很少改變決策,COW比滾動數據更有意義。 – 2009-09-27 22:52:47