数据仓库建模中的星型模式是什么?

什么是星型模型?

在数据仓库中,星型模型是一种结构,其中星型的中心可以有一个事实表和多个相关的维度表。由于其结构类似于星星,因此称为星型模型。星型模型数据模型是数据仓库模型中最简单的类型。它也被称为星型连接模型,并针对查询大型数据集进行了优化。

什么是多维模型?

多维模型是专门为数据仓库系统建模而设计的。这些模型旨在满足用于分析目的的非常大的数据库的独特需求(OLAP)。

数据仓库模型的类型

以下是三种主要的多维模型类型,每种都有其独特的优点。

星型模型数据建模示例

在下面的星型模型示例中,事实表位于中心,其中包含指向每个维度表(如 Dealer_ID、Model ID、Date_ID、Product_ID、Branch_ID 等)的键,以及其他属性,如销售单位和收入。

Star Schema Data Modelling
星型模型图表示例

事实表

星型模型中的事实表包含事实,并连接到维度。事实表有两种列:

  • 包含事实的列
  • 指向维度表的外部键

通常,事实表的主键是一个复合键,它由构成表的​​所有外部键组成。

事实表可以包含详细级别的事实或聚合事实。包含聚合事实的事实表通常称为摘要表。事实表通常包含已聚合到某个级别的事实。

维度表

维度是一种以层次结构对数据进行分类的架构。没有层次结构和级别的维度称为平面维度或列表。每个维度表的主键是事实表复合主键的一部分。维度属性是描述性、文本属性,有助于描述维度值。事实表通常比维度表大。

星型模型的特点

  • 星型模型中的每个维度都只有一个维度表表示。
  • 维度表应包含一组属性。
  • 维度表使用外部键与事实表连接。
  • 维度表之间不连接。
  • 事实表将包含键和度量。
  • 星型模型易于理解,并提供最佳的磁盘空间利用率。
  • 维度表未规范化。例如,在上图中,Country_ID 没有像 OLTP 设计那样包含 Country 查找表。
  • 该模型得到 BI 工具的广泛支持。

星型模型的优点

  • 与高度规范化的其他模型相比,星型模型具有更简单的连接逻辑,可以从高度规范化的事务模式中获取数据。
  • 与高度规范化的事务模式相比,星型模型简化了常见的业务报告逻辑,例如报告和周期性报告。
  • 星型模型被 OLAP 系统广泛用于高效设计立方体。在大多数主要的 OLAP 系统中,星型模型可以作为源,而无需设计立方体结构。
  • 通过启用可应用于查询的特定性能方案,星型模型中的查询处理器软件可以提供更好的执行计划。

星型模型的缺点

  • 由于模型高度反规范化,因此数据完整性强制执行不佳。
  • 在分析需求方面不够灵活。
  • 星型模型不支持业务实体之间的多对多关系。