提交事实表 事实表装有企业的度量数据。事实表与度量的关系非常简单。如果存在一个度量,则它可以被模型化为事实表的行。如果事实表的行存在,则它就是一个度量。那么什么是度量呢?一个关于度量通用的定义是:通过工具或比例等级可以测量观察的数量值。 在维度建模时,我们有意识地围绕企业的数字度量创建我们的数据库。事实表包含度量,维表包含关于度量的上下文。这种关于事物的简单视图被一次又一次的证明是最终用户直观理解我们的数据仓库的方式。这也是我们为什么通过维度模型打包和提交数据仓库内容的原因。 流程检查 规划与设计:需求/现状 -> 架构 -> 实现 -> 测试/发布 数据流:抽取 -> 清洗 -> 规格化 -> 提交 第 5 章描述了如何创建数据仓库的维表。也许从维表开始介绍会觉得很奇怪,因为度量以及事实表才是最终用户真正想要看的内容,但是维表是事实表数据的入口,事实只有通过维度解释才会变得有意义。由于第 5 章详细完整地描述了维,因此本章的内容多少会变得简单一些。 事实表基本结构 每一个事实表通过表的粒度来定义。事实表的粒度是事件度量的定义。设计者必须至始至终按照度量如何在现实世界中理解来规定事实表的粒度。例如,图 6.1 中的事实表的粒度为指定的零售发票上的单个货品。我们并不从定义这些字段的粒度开始,而是将粒度表示成为维度的外键和事实表的某些字段。粒度定义必须按照现实的,物理的度量意义来定义,然后才考虑维度和事实表中的其他字段等其他因素。 所有的事实表包含了一组关联到维表的外键,而这些维表提供了事实表度量的上下文。大多数的事实表还包括了一个或者多个数值型的度量字段,我们称之为事实(Fact)。请看图 6.1。某些事实表中还包还了一个或者多个特殊的近似维度字段,他们是在第 5 章中介绍的退化维度(Degenerate Dimensions) 。退化维度存在于事实表,但是他们不是外键,不关联任何真正的维表。我们在图 6.1 中使用符号 DD 来标识退化维度。 图6 .1 最细粒度的销售交易事实表 在现实实践中,事实表一般都至少包含3 个维度,而且绝大多数包含更多的维度。由于过去的20 年中,随着数据仓库以及相应的软、硬件技术的成熟,事实表技术有了很大的提高,可以存储越来越多的最细粒度上量测值。越来越少的度量,越来越多的维度。在最初的零售销售数据仓库中,数据集仅仅是粗粒度的聚合值。这些早期的零售数据仓库通常只有 3到 4 个维度(产品、市场...