我們如何建模這些對象?在應用程序中處理有效日期的最佳方式是什麼?
方案1:在一個時間段的價格變化
EffectiveDate ExpiryDate Price
2009-01-01 2009-01-31 800$
2009-02-01 Null 900$
因此,如果價格變動至910 $的2009-02-15,那麼系統會自動對與先前的有效價格更新截止日期到2009-02-14,保持一致。
場景2:無2009-02-01之間特定價格2009-02-28
EffectiveDate ExpiryDate Price
2009-01-01 2009-01-31 800$
2009-03-01 Null 900$
所以,如果2009-02-15指定了新的價格起,那麼系統會自動設置由於已經有記錄從2009-03-01開始生效,因此記錄的有效日期將被插入到2009-02-28。
請提出一個有效的方法來處理這些場景來模擬我的框架,或者是否有任何框架可以做到這一點。
感謝
+1。不要嘗試添加範圍,只需添加值更改的地方。 – 2010-04-06 13:11:15
這是一個有趣的想法,我從來沒有想過我可以取消到期日期。 – panzerschreck 2010-04-06 16:29:36
這種類型的決定的基礎是,你可以在每次查詢時計算出它,或者你可以計算出一次並存儲該值。如果您使用單列方法,您將對每個查詢做更多的工作。您還可以減少處理非連續或重疊部分的問題。如果創建記錄的過程非常嚴格並且查詢時間很關鍵,那麼請使用2.如果該過程是由用戶驅動的並且您不頻繁查詢,請使用1.沒有單個正確答案。 – 2010-04-06 22:17:23