Database design 按日期调整价格

Database design 按日期调整价格,database-design,datatable,date,Database Design,Datatable,Date,我有一个主要的价格表,定义如下 periodstart periodend price 2011/01/01 2011/05/30 50 2011/06/01 2011/08/31 100 2011/09/01 2011/12/31 50 现在我想添加调整价格的可能性,仅针对特定日期,2011/06/15-98、2011/06/16-98、2011/06/23-95等。为此,我计划了一个新表,以保持原始价格表不变 现在我有一个疑问,是存储单个日期更容易,还是同时使用句点更容易

我有一个主要的价格表,定义如下

periodstart periodend   price
2011/01/01  2011/05/30  50
2011/06/01  2011/08/31  100
2011/09/01  2011/12/31  50
现在我想添加调整价格的可能性,仅针对特定日期,2011/06/15-98、2011/06/16-98、2011/06/23-95等。为此,我计划了一个新表,以保持原始价格表不变

现在我有一个疑问,是存储单个日期更容易,还是同时使用句点更容易

periodstart periodend   price
2011/06/15 - 2011/06/16 98
2011/06/23 - 2011/06/23 95

对于单一日期的解决方案,存储和稍后调整价格会更容易,但另一方面,对于连续的日期范围,存储价格变化需要更多的行


我想听听对此解决方案的不同观点和想法。

双日期选项允许您在覆盖范围和重叠方面存在差距

也不是你想要的在一个单一的时间线的价格。您可以使用一些业务逻辑来强制实现连续性,但这很麻烦

“单一日期”选项会自动解释为单一时间线,但您需要稍微多做一些工作来确定边界日期,因为您需要查看两条记录,而不是一条记录


对我来说,这是一个简单的折衷办法——只选择一个日期。

在不知道数据分布的情况下,很难说哪一个对你更有利,但即使你每天只选择一条记录,记录的数量仍然非常少。我是说,10年后你会有3650排。没什么大不了的

date       price
2011/06/15 98
2011/06/16 98
2011/06/23 95