三范式建模与维度建模
三范式建模 --> 主要针对业务型数据库
核心思想:数据冗余拆分新表;用外键关联旧表
理解:字段不可拆分,若可拆分则需要重新设置字段; 数据不可冗余,不能因为某些字段造成其他字段的重复与整体数据量的增加
三范式:
- 所有表中的数据都为原子数据,不可再分
- 所有表中的所有字段都必须依赖于主关键字
- 所有表中的非关键词之间不能存在函数依赖关系
维度建模 --> 主要针对数仓建模
根据需求文档 --> 判断哪些是事实表,哪些是维度表
事实表:反映数据的基本信息,一般为数值类型,数据经常变化
维度表:反映数据的维度特征,数据内容不经常变化,如时间维度,地区维度等
维度建模根据需求文档中的字段需求,反推如何去构建数仓,如数仓分层,快照表及宽表的制作
维度表与事实表的组合模型:
- 星型模型:一个事实表为中心,多个维度表环绕四周
- 雪花模型:一个事实表为中心,多个维度表环绕四周,多个维度表之间可以相互关联
- 星座模型:多个事实表共用一个维度表
缓慢渐变维 --> 基于时间维度考量,对发生变化的数据进行处理
- scd1:直接将新数据覆盖旧数据
- scd2:保留历史数据,新增两个字段,开始时间,结束时间,通过拉链表进行历史数据的更新
- scd3:通过拓展列保留历史数据(增加字段的形式) --只保留最近的三次数据,最近三次数据会覆盖之间的历史数据
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
