...
雪花模型与星型模型类似,都包含了事实表和维度表。但在维度表的组织方式上有所不同。在雪花模型中,维度表被细分成多个规范化的表格,形成了多层级结构,就像雪花一样。
视图如下:
雪花模型是对星型模型的扩展,它对星型模型的维表进一步层次化,原有的各维表可能被扩展为小的事实表,形成一些局部的 "层次 " 区域,这些被分解的表都连接到主维度表而不是事实表。如将产品维表分解为产品类别维表。
...
星座模型:包含多个事实表,维表是公共的,可以共享,视图如下:
单表模型
可以理解为一张大宽表,指标、维度、属性关联在一起的一张表,如下图:
模型相关概念
我们在Smartbi设计数据模型架构前,需要对模型设计紧密相关的概念有清晰的认识和理解:
...
度量值表达式涵盖广泛,从简单的列聚合到更复杂的公式应有尽有,这为模型开发者提供了便利,因为在很多情况下都无需写MDX表达式创建度量值: 如“订单明细”表中的“销售量”列可以通过多种方式进行汇总(包括 SUM、COUNT、AVERAGE、MEDIAN、MIN、MAX 等)。
雪花维度
雪花维度是单个业务实体的一组规范化表 。例如:“产品”维度经过了规范化并存储在两个相关表中:产品类别维度和产品维度。这些规范化表位于事实数据表之外,形成雪花形状的设计。
...
一对多和多对一是相对关系,如下列的课程表与老师表:
站在课程表的角度看是:多对一;站在老师表的角度看是:一对多。
...
在数据库中建立一对多的关系,需要使用数据库的外键约束:
Course表中的T_id字段建立外键约束,指向Teacher表中的T_id。
...
在一对一关系中,A 表中的一行最多只能匹配于 B 表中的一行,反之亦然。比如,一个人只能有一个身份证号,一个身份证号只能属于一个人。
如果相关列都是主键或都具有唯一约束,则可以创建一对一关系。
这种关系并不常见,因为一般来说,按照这种方式相关的信息都在一个表中。可以利用一对一关系来:
...
多对多的关系,可以看成是两个多对一的关系,如下的课程表和学生表:
站在课程表的角度,一门课可以被多个学生选择,是多对一的关系;站在学生表的角度,一个学生可以选择多门课程,是多对一的关系。
这两个表的多对多关系,通过一张关联表来建立关联:
101课程被学号1、学号2的学生选择;学号1的学生同时选择了101、202、303的课程。
...