数据仓库中每个事实的开始和结束周期

Hen*_*nry 2 database-design data-warehouse

我被要求在我们的数据仓库中添加一个新表.目前,我们将事实分为月度表,季度表和年度表,每个表都有时间维度.每个事实记录都有一个时间值.数据在源系统中按开始和结束周期生成,结束日期成为事实记录的时间维度值.事实流入月,季度或年事实表告诉人如何理解记录中的日期以及如何使用它们.

我被要求让新表包含每条记录中的开始和结束日期.我被告知这违反了数据仓库原则,但它更好地代表了数据的生成方式,并允许更灵活地查询数据,例如滚动期等.

我不是数据仓库专家.我知道每个事实的单个时间维度是一个原则.我的问题是,打破这一原则的后果是什么?换句话说,反对这样做的理由是什么?这样做我将来会遇到什么问题?在我看来,每个事实的开始和结束时段都能更好地代表数据,但我承认我还不足以全面评估这种设计选择的含义.任何人都可以提供一些预期吗?

编辑:我很欣赏这些答案.他们至少告诉我,这并不像我所认为的那样糟糕.我将澄清关于日期的一件事:它们不代表有效期,而是一段聚合期.因此,事实记录可以表示对于任意几个月的时间计算的某种成分使用的磅的平均值.不知道这是否有任何区别,但确实如此.

Sha*_*ore 5

可能是时候抓住一本好的数据仓库书了,我推荐一些来自Kimball Group的东西,Ralph Kimball几乎是快速入门数据仓库的转变.我可以进一步详细说明它是否有用,但我会从两点开始,这可能有助于让你转身并取得进展.

  1. 每个事实具有多个时间维度是非常常见的.当告诉您违反公认的正常做法时,有人向您提供了错误的信息.作为"订单"事实的一个例子,您通常会有订单日期,发货日期,交货日期,期间等.

  2. 如果您使用的是开始日期和结束日期,则通常表示您正在使用所谓的类型2维度或缓慢变化的维度.情况可能并非如此,但在做出决定之前,请确保了解缓慢变化的尺寸.