在数据仓库建模中,事实表和维度表各自承担什么角色?请解释两者的定义、核心作用以及它们之间的主要区别。
考察说明
考查对数据仓库核心建模概念(事实表与维度表)的理解,以及能否清晰区分两者的职责。
回答思路
- 【回答框架 1】事实表用于记录业务过程的可度量事件,通常包含数值型度量(如销售额、订单数量)以及关联维度表的外键。其特点是行数多、增长快,按事实粒度存储,是分析查询的度量来源。
- 【回答框架 2】维度表描述业务过程的上下文属性,如时间、产品、客户、地域等,包含描述性文本和层次信息(如产品分类、地区层级)。维度表行数相对较少,变化缓慢,用于对事实进行筛选、分组和标记。
- 【回答框架 3】两者的作用互补:事实表提供可聚合的数值,维度表提供分析角度。例如订单事实表关联日期、客户、产品维度表,可回答某地区某时段的销售总额。建模中通常用星型或雪花型模型连接,事实表居中,维度表环绕。
- 【回答框架 4】区别要点:事实表关注‘发生了什么’(数字),维度表关注‘何时、何地、何人、何物’(描述);事实表数据冗余低但体积大,维度表允许适度冗余以提升查询性能;事实表通过外键与维度表关联,实现维度下钻与上卷。
- 【关键点 1】事实表存度量与外键,维度表存描述属性,两者通过外键关联。
- 【关键点 2】事实表按业务事件粒度记录,体积大且持续增长;维度表相对稳定,支持过滤与分组。
- 【关键点 3】作用上,事实表提供可聚合数值,维度表提供分析上下文,共同支撑多维分析。