三范式建模与维度建模

三范式建模 --> 主要针对业务型数据库

核心思想:数据冗余拆分新表;用外键关联旧表

理解:字段不可拆分,若可拆分则需要重新设置字段; 数据不可冗余,不能因为某些字段造成其他字段的重复与整体数据量的增加

三范式:

  1. 所有表中的数据都为原子数据,不可再分
  2. 所有表中的所有字段都必须依赖于主关键字
  3. 所有表中的非关键词之间不能存在函数依赖关系

维度建模 --> 主要针对数仓建模

根据需求文档 --> 判断哪些是事实表,哪些是维度表

事实表:反映数据的基本信息,一般为数值类型,数据经常变化

维度表:反映数据的维度特征,数据内容不经常变化,如时间维度,地区维度等

维度建模根据需求文档中的字段需求,反推如何去构建数仓,如数仓分层,快照表及宽表的制作

维度表与事实表的组合模型:

  • 星型模型:一个事实表为中心,多个维度表环绕四周
  • 雪花模型:一个事实表为中心,多个维度表环绕四周,多个维度表之间可以相互关联
  • 星座模型:多个事实表共用一个维度表

缓慢渐变维 --> 基于时间维度考量,对发生变化的数据进行处理

  • scd1:直接将新数据覆盖旧数据
  • scd2:保留历史数据,新增两个字段,开始时间,结束时间,通过拉链表进行历史数据的更新
  • scd3:通过拓展列保留历史数据(增加字段的形式) --只保留最近的三次数据,最近三次数据会覆盖之间的历史数据


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部