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

目录:

1. 概述编辑

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

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

2. 维度表名词解释编辑

示例给出一个销售人员维度表,如下图所示:

代理键

定义: 代理键是一种由数据仓库系统自动生成的唯一标识符,用于识别维度表中的每一行记录。

作用

稳定性: 代理键的值是由系统分配的,不受业务变化的影响,因此更为稳定。

性能优势: 由于代理键是递增或随机生成的数字,对于数据库索引的性能有积极影响,提高了查询效率。

优势

灵活性: 允许系统独立管理唯一标识,降低了与业务变化相关的复杂性。

易维护性: 由于代理键不受外部业务数据的影响,维护起来更加简便。

适用场景

维度表: 通常在维度表中使用代理键,用于唯一标识每个维度记录。

关联: 在与事实表建立关联时,作为连接点,提供更高效的关联操作。

示例中的 Salesperson_SK 表示代理键。

自然键

自然键是维度模型中的一个关键概念,与代理键相对。自然键使用数据本身的业务属性作为标识符,其在维度表中用于唯一地标识记录。以下是自然键的主要特点:

定义:自然键是由维度表中现有的业务数据属性构成的标识符,用于唯一标识每个维度记录。

作用

业务关联: 自然键直接反映真实业务世界中的关系,与业务实体的属性相对应。

可读性: 自然键通常具有业务含义,使得数据更易理解,有助于业务用户的可读性。

优势

业务可理解性: 由于自然键基于现有数据,更容易为业务人员理解和使用。

反映真实业务: 自然键直接映射到业务实体,提供了更直观的数据模型。

限制

不稳定性: 部分情况下,自然键可能受到业务变化的影响,导致不稳定性。

复杂性: 在处理变化、合并或分割等业务操作时,自然键可能引入复杂性。

适用场景

业务明确: 当业务实体有清晰的、稳定的业务标识时,自然键是一个合适的选择。

用户可理解: 当用户更容易通过业务属性识别记录时,自然键有助于提高可理解性。

示例中的 EmployeeID 表示自然键。

外键

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

示例中的 SalesRegion_FK 表示外键。

维度属性

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

退化维度

维度与相关事实数据的粒度相同时,可能会发生退化维度。 退化维度的常见示例是与销售事实数据表相关的销售订单号维度。 不复制此数据来创建单独的维度表是可接受的做法。

下面的关系图描绘了 Sales_Order 维度,它是基于销售事实数据表中的 SalesOrderNumber 列的退化维度。 

角色扮演维度

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

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

下面的关系图描绘了事实数据表。 销售维度是角色扮演维度,因为它作为机会销售维度和签单销售维度与事实数据表有两次关联。