模式定义为数据库的逻辑描述,其中事实和维度表以逻辑方式连接.数据仓库以Star,Snow flakes和Fact Constellation模式的形式进行维护.
Star Schema
Star模式包含一个事实表,多维表.每个维度仅使用一维表表示,并且不进行规范化. Dimension表包含一组属性.
特征
在星型模式中,只有一个事实表和多个维度表.
在星型模式中,每个维度都由一维表表示.
维度表是未在星型模式中标准化.
每个维度表都连接到事实表中的键.
下图显示了公司关于四个维度的销售数据,即时间,项目,分支和位置.
中心有一个事实表.它包含四个维度中每个维度的键.事实表还包含属性,即销售的美元和销售的单位.
注意 : 每个维度只有一维表,每个表包含一组属性.例如,位置维度表包含属性集{location_key,street,city,province_or_state,country}.此约束可能会导致数据冗余.
例如 : "温哥华"和"维多利亚"两个城市都在加拿大不列颠哥伦比亚省.此类城市的条目可能会导致属性province_or_state和country的数据冗余.
Snowflakes Schema
Snowflake架构中的某些维度表已标准化.规范化将数据拆分为其他表格,如下图所示.
与星型模式不同,雪花模式中的维度表是规范化的.
例如 : 星型模式中的项目维度表被规范化并拆分为两个维度表,即项目和供应商表格.现在,项目维度表包含属性item_key,item_name,type,brand和supplier-key.
供应商密钥链接到供应商维度表.供应商维度表包含supplier_key和supplier_type属性.
注意 : 由于Snowflake架构的规范化,冗余度降低,因此易于维护和节省存储空间.
Fact Constellation Schema(Galaxy Schema)
事实星座有多个事实表.它也被称为Galaxy Schema.
下图显示了两个事实表,即Sales和Shipping :
销售事实表与星型模式中的相同.运输事实表有五个维度,即item_key,time_key,shipper_key,from_location,to_location.运输事实表还包含两个措施,即销售的美元和销售的单位.也可以在事实表之间共享维度表.
例如 : 时间,项目和位置维度表在销售和运输事实表之间共享.