数据仓库

数据仓库理论第一炮

2019-11-05  本文已影响0人  孤城心

整理如下:

image.png

Inmon 模型

在OLTP系统数据(可以笼统为业务后端用的数据)的主要用的建模方式就是三范式,从而在事务处理中解决数据的冗余和一致性问题,遵照一定的规范要求,目的在于降低数据的冗余性

关系模型之范式理论:

第一范式(1NF):每一列原子性。
例如:<编号,姓名,商品> 那么商品里面不能包含数量和某个商品,需拆分,一个属性不可多个值。
第二范式(2NF):满足第一范式并且非主键的数值都依赖于数据表的主键,不能存在部分依赖
例如:<学号,姓名,身份证,课程号,课程名,分数>在这个表主键是<学号,课程号>分数完全依赖(课程号,课程名)分数不完全依赖姓名,那么拆表<学号,姓名,身份证><课程号,课程名,分数>
第三范式(3N):满足第二范式,消除数据冗余,不能存在传替函数依赖。
例如:A->B,B->C那么A不等于指向C。(学号, 姓名, 年龄, 性别,系别,系别,系办地址,系办电话)作为一张表,那么存在(学号)→ (姓名, 年龄,性别,系别,系办地址、系办电话)但是还存在下面的决定关系(学号) → (所在学院)→(学院地点, 学院电话)
拆分:
(学号, 姓名, 年龄, 性别,系别)
(系别, 系办地址、系办电话)


image.png

Kimball 模型

维度建模是专门用于分析型数据库、数据仓库、数据集市建模的方法。:

  1. 维度表(dimension)

     表示对分析主题所属类型的描述。比如"昨天早上张三在京东花费200元购买了一个皮包"。那么以购买为主题进行分析,可从这段信息中提取三个维度:时间维度(昨天早上),地点维度(京东), 商品维度(皮包)。通常来说维度表信息比较固定,且数据量小。
    
  2. 事实表(fact table)

     表示对分析主题的度量。比如上面那个例子中,200元就是事实信息。事实表包含了与各维度表相关联的外码,并通过JOIN方式与维度表关联。事实表的度量通常是数值类型,且记录数会不断增加,表规模迅速增长。
    

在维度建模的基础上又分为三种模型:

星型模型:

image.png

雪花模型:

image.png

星座模型:

上一篇 下一篇

猜你喜欢

热点阅读