专注于中国的商业智能

导航

KDT#51 时间维度表

有时,事实表中的日期比一天要细,会详细到时分秒,而且用户可能会对时分秒进行查询,如果我们将日期维度的粒度细到秒级,日期维度表中的记录就会变的太多。这时,我们有两种建模方法来处理这个问题。

一种方法是,在事实表除了保存日期维度的外键(代理键)以外,还将这个日期当作一个事实保存在事实表中,保存成SQLDataTime型。这样,如果用户需要更精确的查询的话,可以查询这个DataTime型的字段。

另一种方法是,建立时间维度表,定义为从零点开始的分钟数或者秒数。如果粒度建立在分钟上,这个时间表有1440条记录,如果粒度建立在秒上,这个时间表有86400条记录。这样,查询时间差就变得非常的容易。以这种方式进行建模,最好也要在事实表中保留上一种方法中的DataTime型的字段。

posted on 2010-08-05 14:28  李梦蛟  阅读(616)  评论(0编辑  收藏  举报