更改营业时间而不影响历史数据

时间:2017-05-12 10:53:59

标签: sql sql-server database-design

我的任务是创建一个依赖于我钻进现有数据库的数据可视化仪表板。

一份报告是每个可用封面的收入' - 部分计算方法确定预订了多少小时,以及可用的小时数。

问题是可用时间',目前这个存储在一个与场地有1-1链接的日程表中 - 如果管理员要更新这个,那么有一个简单的CRUD面板预先链接的字段准备完成。

我已经意识到,如果我在将来的任何时候依赖此表,当时间表更改任何历史数据的计算更改。

关于如何保持“历史性”的任何想法。安排尽可能减少对数据库的影响?

1 个答案:

答案 0 :(得分:2)

你所拥有的是一个(可能)缓慢变化的维度。基本上,有两种方法:

  • 对于每个交易记录,请包括您感兴趣的小时数。
  • 将时间表存储在时间范围内,以便在特定时间点捕获时间表。

在SQL Server中,我通常会选择第二个选项,使用effDateendDate列来捕获计划处于活动状态的时间段。

我建议您先从对此概念的更深入解释开始,例如Wikipedia页面。