【DataW】建模理论

本文探讨了数仓建模的目标,包括提升访问性能、降低成本、提高使用效率和保证数据质量。涉及范式理论,如第一、二、三范式,以及ER实体模型和Kimball维度建模方法,特别对比了星型模型和雪花模型在维表设计上的差异。
摘要由CSDN通过智能技术生成

数仓建模目标

        1.访问性能:快速查询所需的数据,减少数据I/O

        2.数据成本:减少不必要的数据冗余,实现计算结果数据复用,降低大数据系统中的存储成本和计算成本

        3.使用效率:改善用户应用体验,提高使用数据的效率

        4.数据质量:改善数据统计口径的不一致性,减少数据计算错误的可能性,提供高质量、一致的数据访问平台


范式理论

        降低数据的冗余性和数据的一致性,目前范式有:

        第一范式 - 第五范式、巴斯-科德范式(BCNF)

第一范式

        域都是原子性的,数据库表的每一列都是不可分割的数据项

第二范式

        在1NF的基础上,实体的属性完全依赖于主关键字,不能存在仅依赖住关键字一部分的属性,也就是不存在局部依赖。

第三范式

        在2NF的基础上,任何非主体属性不依赖于其它非主属性,也就是不存在传递依赖。


建模方法

ER实体模型(关系建模)

        实体:通常为参与到过程中的主体,客观存在的

        属性:对主体的描述、修饰即为属性

        关系:现实的物理事件是依附于实体的

        实现步骤

        1.抽象出主体

        2.梳理主体之间的关系

        3.梳理主体的属性

        4.E-R关系图

        其它

        1.需要全面了解业务和数据

        2.实施周期较长 

Kimball(维度建模)

        事实表

        每个操作型事件,基本都是发生在实体之间,伴随发生会产生可度量的值,而这个过程会产生一个事实表,存储了每个可度量的事件。

        事实表包含了与各维度表相关联的外键,并通过Join方式与维度表关联。

        维度表

        看待事物的角度,维度一般为单一主键。

        维度建模通常分为星型模型雪花模型

星型模型

        1.维表只和事实表关联,维表之间没有关联

        2.每个维表的主键为单列,且主键放置在事实表中,作为两边连接的外键

        3.以事实表为核心,维表围绕核心呈星型分布

雪花模型

        对星型模型的扩展,每个维表可继续向外连接多个子维表。

        

        星型模型和雪花模型的主要区别在于对维表的拆分;

        对于雪花模型,维表的设计更加规范,一般符合3NF;而星型模型一般采用降维的操作,利用冗余来避免模型过于复杂,提高易用性和分析效率。

        在实际项目中,更倾向于星型模型,以数据冗余来提高数据查询效率。

  • 10
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值