数据仓库 - 模式


模式被定义为数据库的逻辑描述,其中事实表和维度表以逻辑方式连接。数据仓库以星型、Snowflake型和事实星座模式的形式进行维护。

星型模式

星型模式包含一个事实表和多个维度表。每个维度仅用一维表表示,并且它们没有标准化。维度表包含一组属性。

特征

  • 在星型模式中,只有一张事实表和多个维度表。
  • 在星型模式中,每个维度都由一维表表示。
  • 维度表在星型模式中未标准化。
  • 每个维度表都连接到事实表中的一个键。

下图展示了某公司在时间、项目、分支机构、地点四个维度上的销售数据。

星型模式

中心有一个事实表。它包含四个维度中每个维度的键。事实表还包含属性,即销售美元和销售单位。

注意- 每个维度只有一维表,每个表保存一组属性。例如,位置维度表包含属性集{location_key, street, city, Province_or_state, Country}。这种限制可能会导致数据冗余。

例如- “温哥华”和“维多利亚”这两个城市都位于加拿大不列颠哥伦比亚省。此类城市的条目可能会导致属性province_or_state 和country 上的数据冗余。

Snowflake模式

Snowflake 架构中的某些维度表已标准化。规范化将数据拆分为其他表,如下图所示。

Snowflake模式

与星型模式不同,Snowflake模式中的维度表是标准化的。

例如- 星型模式中的项目维度表被标准化并分为两个维度表,即项目和供应商表。现在,项目维度表包含属性 item_key、item_name、type、brand 和 seller-key。

供应商键链接到供应商维度表。供应商维表包含属性supplier_key 和supplier_type。

- 由于Snowflake模式的规范化,减少了冗余,因此变得易于维护并节省存储空间。

事实星座架构(银河架构)

事实星座有多个事实表。它也称为 Galaxy 模式。

下图显示了两个事实表,即销售和运输 -

银河图式

销售事实表与星型模式中的销售事实表相同。发货事实表有五个维度,分别是item_key、time_key、shipper_key、from_location、to_location。运输事实表还包含两个度量,即销售美元和销售单位。还可以在事实表之间共享维度表。

例如- 时间、项目和位置维度表在销售和运输事实表之间共享。