数据仓库 – 模式
数据仓库 – 模式
模式被定义为数据库的逻辑描述,其中事实表和维度表以逻辑方式连接。数据仓库以 Star、Snow flakes 和 Fact Constellation 模式的形式维护。
星型架构
星型架构包含一个事实表和多个维度表。每个维度只用一维表表示,并且没有标准化。维度表包含一组属性。
特征
- 在星型模式中,只有一个事实表和多个维度表。
- 在星型模式中,每个维度都由一维表表示。
- 维度表在星型架构中未规范化。
- 每个维度表都连接到事实表中的一个键。
下图显示了一家公司的销售数据,涉及四个维度,即时间、项目、分支机构和位置。
中间有一个事实表。它包含四个维度中每个维度的键。事实表还包含属性,即已售出的美元和已售出的单位。
注意– 每个维度只有一维表,每个表都包含一组属性。例如,位置维度表包含属性集{location_key, street, city, Province_or_state, country}。这种约束可能会导致数据冗余。
例如– “温哥华”和“维多利亚”这两个城市都在加拿大不列颠哥伦比亚省。这些城市的条目可能会导致沿属性省或州和国家的数据冗余。
雪花架构
Snowflake 模式中的一些维度表是规范化的。归一化将数据拆分到其他表中,如下图所示。
与星型模式不同,雪花模式中的维度表是规范化的。
例如– 星型模式中的项目维度表被规范化并拆分为两个维度表,即项目和供应商表。现在,商品维度表包含属性 item_key、item_name、type、brand 和供应商键。
供应商键链接到供应商维度表。供应商维度表包含属性 supply_key 和 supply_type。
注意– 由于雪花模式中的规范化,减少了冗余,因此变得易于维护并节省存储空间。
事实星座模式(星系模式)
一个事实星座有多个事实表。它也被称为 Galaxy Schema。
下图显示了两个事实表,即销售和运输 –
销售事实表与 Star Schema 中的相同。运输事实表有五个维度,分别是item_key、time_key、shipper_key、from_location、to_location。运输事实表还包含两个度量,即已售出的美元和已售出的单位。也可以在事实表之间共享维度表。
例如– 时间、项目和位置维度表在销售和运输事实表之间共享。