数据仓库项目

[数仓项目] | 数据建模

2023-12-24  本文已影响0人  zhk779

1.模型分类

ER(Entities Relationship)模型

第一范式(1nf):属性为原子类型,不可再分
第二范式(2nf):表中不存在“部分函数依赖”
第三范式(3nf):不能存在传递函数依赖,(使用外键)

维度模型

事实、维度
事实 -> 行为数据
维度 -> 环境数据

2. 维度模型理论之事实表

事实表

核心,围绕业务过程进行设计

事务型事实表

最细粒度的操作时间

设计流程

确认业务过程(做什么) -> 声明粒度(每行多细) -> 确定维度(列) -> 确定事实(计量单位)

周期型快照事实表

需要累积的数据(余额、速度)

设计流程

确定粒度(列) -> 确认事实(度量值)

事实类型

可加事实(订单金额)、半可加事实(库存)、不可加事实(比例)

累积型快照事实表

多个业务过程,需要多次写入,解决多事务关联

设计流程

选择业务过程(多个业务)-> 声明粒度(行)-> 确认维度(列) -> 确认事实(度量值)

3.维度模型理论之维度表

围绕业务过程所处的环境进行设计。

设计步骤

确定维度(事实表就确定了,注意维度退化) -> 确定主维表和其他维表(最细粒度为主维表) -> 确定纬度属性(丰富、不要编码、预计算)

设计要点

1).维度表通常是反规范化的

2).维度变化

如何存储维度的变化
全量快照表(用的最多)、拉链表(变化缓慢,但是数量大的数据使用)

3).多值维度

一个事实表的行对应多个维度表的行,
两种解决途径:1、降低粒度 2、事实表采用多字段存多个维度

4).多值属性

某个属性同时又多个值,比如手机的平台属性值(屏幕尺寸、品牌、cpu)
解决方法:
键值对放到一个字段 or 多个字段(必须要属性个数固定)

上一篇 下一篇

猜你喜欢

热点阅读