Kimball 维度建模技术(1)
1 事实表技术基础
1.1 事实表结构
发生在现实世界中的操作型事件,其所产生的可度量数值,存储在事实表中。
从最低的粒度级别来看,事实表行对应一个度量事件。
因此事实表的设计完全依赖于物理活动,不受可能产生的最终报表的影响。
1.2 可加、半可加、不可加事实
事实表中的数字度量可划分为三类。
最灵活、最有用的事实是完全可加的,可加性度量可以按照与事实表关联的任意维度汇总。 半可加度量可以对某些维度汇总,但不能对所有维度汇总。 差额是常见的半可加事实,除了时间维度外,它们可以跨所有维度进行假发操作。另外,一些度量是完全不可加的,例如:比率。 对非可加事实,一种好的方式是,尽可能存储非可加度量的完全可加的分量,并计算出最终的非可加事实前,将这些分量汇总到最终的结果集合中。 最终计算通过发生在BI层或OLAP多维数据库层。
1.3 事实表中的空值
事实表中可以存在空值度量。所有聚集函数(sum、count、min、max、avg)均可针对空值实时计算。
然而,在事实表的外键中不能讯在空值,否则会导致违反参照完整性的情况发生。关联的维度表必须用默认行而不是空值外键表示未知的或无法应用的条件。
1.4 一致性事实
如果某些度量出现在不同的事实表中,需要注意,如果需要比较或计算不同事实表中的事实,应保证针对事实的技