历史版本2 :维度表 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

本文提供一些数据表基本概念。

在维度模型中,维度表描述与业务和分析要求相关的实体。 大致而言,维度表代表你建模的内容。 内容可以是产品、人员、地点或任何其他概念,包括日期和时间。 若要轻松识别维度表,通常要为其名称加上前缀 d_ 或 Dim_。

2. 维度表结构编辑

代理键


自然键


外键

其他维度表可以引用外键,并且它们存在于维度表中是一种特殊情况。 它表示该表与另一个维度表相关。

维度属性

示例维度表还具有维度属性,如 FirstName 列。 维度属性为存储在相关事实数据表中的数值数据提供上下文。 它们通常是分析查询中使用的文本列,用于筛选和分组(切片和切块),但不能自行合并。 一些维度表包含少数几个属性,而另一些则包含许多属性(尽可能多地支持维度模型的查询要求)。

退化维度


当维度与相关事实数据的粒度相同时,可能会发生退化维度。 退化维度的常见示例是与销售事实数据表相关的销售订单号维度。 通常,发票编号是事实数据表中的单个非分层属性。 因此,不复制此数据来创建单独的维度表是可接受的做法。

下面的关系图描绘了 Sales Order 维度,它是基于销售事实数据表中的 SalesOrderNumber 列的退化维度。 此维度作为检索不同的销售订单号值的视图实现。

角色扮演维度

在当一个维度在事实数据表中被多次引用时,称为角色扮演维度

例如,当销售事实数据表具有订单日期、装运日期和交付日期维度键时,日期维度以三种方式关联。 每个方式都表示不同的角色,但只有一个实际日期维度。

下面的关系图描绘了 Flight 事实数据表。 Airport 维度是角色扮演维度,因为它作为 Departure Airport 维度和 Arrival Airport 维度与事实数据表有两次关联。