我们如何建模这些对象?在应用程序中处理有效日期的最佳方式是什么?
方案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