ODS:数据源 DWD:加工数据 DWS:统计数据 ADS:分析数据
DIM: 维度层(大家都有可能用得上的部分)
ER模型
数据仓库之父Bill Inmon提出的建模方法是从全企业的高度,用实体关系(Entity Relationship,ER)模型来描述企业业务,并用规范化的方式表示出来,在范式理论上符合3NF。
1)实体关系模型
实体关系模型将复杂的数据抽象为两个概念——实体和关系。实体表示一个对象,例如学生、班级,关系是指两个实体之间的关系,例如学生和班级之间的从属关系。
2)数据库规范化
这一系列范式就是指在设计关系型数据库时,需要遵从的不同的规范。关系型数据库的范式一共有六种,分别是第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范(BCNF)、第四范式(4NF)和第五范式(5NF)。遵循的范式级别越高,数据冗余性就越低。
3)三范式
(1)函数依赖
分为完全函数依赖,部分函数依赖,传递函数依赖。
完全函数依赖:y=f(x,z),y跟x,z都有关;
部分函数依赖:y=f(x,z),y只跟x有关;
传递函数依赖:y=f(x),z=f(y) ->z=g(x) y只跟x有关,z只跟y有关;
(2)第一范式
(3)第二范式
(4)第三范式
维度模型
所谓的维度,就是分析数据的角度。
下图为一个典型的维度模型,其中位于中心的SalesOrder为事实表,其中保存的是下单这个业务过程的所有记录。位于周围每张表都是维度表,包括Date(日期),Customer(顾客),Product(产品),Location(地区)等,这些维度表就组成了每个订单发生时所处的环境,即何人、何时、在何地下单了何种产品。从图中可以看出,模型相对清晰、简洁。