-
事实表(Fact Table)
- 定义:
- 事实表是数据仓库架构中的核心表,主要用于存储业务过程的度量(Measure)和相关的事件数据。这些度量通常是可以进行数值计算的,比如销售金额、销售数量、访问次数等。它记录了企业运营过程中的关键业务事实,是数据分析和决策支持的重要数据来源。
- 特点:
- 包含事实数据:事实表中的事实数据是分析的重点内容。例如,在一个零售业务的数据仓库中,销售事实表会包含每一笔销售交易的金额、数量等数据。这些数据是可量化的,并且可以用于聚合(如计算总销售额、总销售量等)和分析(如比较不同时间段的销售情况)。
- 具有粒度(Granularity)属性:粒度是指事实表中数据的详细程度。例如,销售事实表的粒度可以是每一行代表一笔销售交易,也可以是每一行代表一天内的所有销售交易汇总。确定合适的粒度非常重要,因为它会影响数据仓库的存储量和数据分析的灵活性。
- 关联多个维表:事实表通常会与多个维表相关联。通过外键(Foreign Key)与维表连接,这些外键用于引用维表中的主键(Primary Key)。例如,销售事实表可能会通过 “产品 ID” 外键关联到产品维表,通过 “客户 ID” 外键关联到客户维表,通过 “时间 ID” 外键关联到时间维表等。
- 示例:
- 假设一个电商企业的数据仓库,销售事实表可能有以下列:订单 ID(作为事实表的主键)、产品 ID、客户 ID、销售数量、销售金额、下单时间 ID 等。其中 “销售数量” 和 “销售金额” 是事实数据,用于分析销售业绩;“产品 ID”“客户 ID”“下单时间 ID” 是外键,用于和相应的维表建立关联。
- 定义:
-
维表(Dimension Table)
- 定义:
- 维表主要用于描述事实表中的各种维度信息。维度是观察和分析事实数据的角度,如时间维度(年、月、日等)、地理维度(国家、地区、城市等)、产品维度(产品类别、品牌、型号等)、客户维度(客户类型、年龄、性别等)。维表为事实表中的数据提供了上下文环境,帮助用户更好地理解和分析事实数据。
- 特点:
- 包含描述性属性:维表中的列主要是用于描述维度的属性。例如,在产品维表中,会有产品名称、产品类别、产品品牌、产品规格等列。这些属性可以帮助用户对产品进行分类、筛选和比较。
- 相对稳定:与事实表相比,维表的数据相对稳定。虽然维表的数据也可能会发生变化,但变化频率通常较低。例如,产品维表中的产品类别和品牌等信息,不会随着每一笔销售交易而改变。
- 作为查询约束和分组依据:在数据分析过程中,维表的属性常被用于作为查询的约束条件和分组依据。例如,用户可以按照产品类别或时间范围来查询销售数据,或者对销售数据按照客户地区进行分组统计。
- 示例:
- 以时间维表为例,它可能包含日期 ID(作为主键)、日期、星期几、月份、季度、年份等列。这个维表可以用于在销售分析中,按不同的时间维度(如按月份查看销售趋势、按季度比较销售业绩等)来分析销售事实表中的数据。产品维表可能包含产品 ID(主键)、产品名称、产品类别、产品价格等列,用于提供产品相关的详细信息,以便在分析销售数据时可以了解不同产品的销售情况。
- 定义:
什么是事实表,什么是维表?
最新推荐文章于 2025-01-06 17:13:07 发布