数据库建模

1数仓理论

1.1范式理论

1.1.1范式的概念

  1. 定义:
    范式可以理解为设计一张数据库表结构符合某种标准级别的规范和要求。
  2. 优点:
    在关系型数据库建表时遵循一定的规范要求,目的降低数据的冗余性。
  3. 缺点:
    在获取数据时通过jion拼接出完整数据。
  4. 分类:
    目前业界范式有:第一范式、第二份范式、第三范式、巴斯-科德范式、第四范式、第五范式

1.1.2 函数的依赖

1.完全函数依赖
比如通过,(学号和课程)可以推断出分数,但是单独的学号推断不出分数,那么就可以说分数完全依赖与(学号和课程)
即:通过AB可以得到C,但是单独的A或B得不到C,那么就可以说C完全依赖于AB.
2.部分函数依赖
比如通过(学号和课程)可以推断出姓名,其实学号就可以直接推断出姓名,所以姓名部分依赖于(学号和课程)
即:通过AB能得到C,通过A可以得到C,或者通过B也可以得到C,那么说C部分依赖于AB.
3.传递函数依赖
比如:学号推断出系名,系名推断出系主任,但是系主任推断不出学号。系主任传递依赖于学号。
通过A得到B,通过B的到C ,但是C得不到A,那么就可以说C传递依赖于A。

1.1.3 三范式的区分

1.第一范式1NF核心原则:属性不可切割。
2.第二范式2NF:不能存在部分函数依赖。
3.第三范式3NF:不能存在传递函数依赖。

1.2 关系建模与维度建模

联机事物处理OLTP和联机分析处理OLAP。
比较OLTP和OLAP:
1.读写特性
2.使用场景
3.数据特征
4.数据规模
关系模型虽然冗余少,但是在大规模数据,跨表数据分析统计中,会造成块表数据关联,大大降低数据的查询效率,所以通常来说采用维度模型建模,把相关的表整理成两种:事实表和维度表。

1.2.1 关系建模

1.关系模型严格遵循第三范式,主要应用于OLTP系统中。关系模型的表松散、零碎,物理表数量多,而数据冗余程度低。这些数据分布在众多物理表中,可以更灵活的被应用,功能性强。

1.2.2 维度建模

1.维度模型主要应用于OLAP系统中,通常以某个事实表为中心进行表的组织,主要面向业务,特征可能存在数据冗余,但是方便的到数据。
2.在维度建模基础上又分为星型模型、雪花模型、星座模型

1.3 维度表与事实表(项目中的理论重点)

1.3.1 维度表

1.维度表一般是对事实的描述信息。 例如:用户、商品、日期、地区。
2.维表的特征:
1) 維表的范围很宽。
2)跟事实表相比,行数相对较小。
3)内容相对固定:编码表。

1.3.2 事实表

事实表中的每行数据代表一个业务事件(下单、支付、退款、平均价等)。事实这个术语表示的是业务事件的度量值(可以统计次数、个数、金额等),例如订单事件中的下单金额。
1.事实表的特征:
1) 非常的大
2)内容相对窄,列数少
3)经常发生变化,每天增加很多。
2. 事实表的分类:
2.1事物型事实表
2.2周期型快照事实表。
2.3累积型快照事实表。

1.4 数据仓库建模(项目中理论绝对重点)

1.4.1 ODS层

(1) 保存数据原貌,起到备份数据作用。
(2) 数据采用压缩减少磁盘存储空间。
(3) 创建分区表防止后续的全表扫描。

1.4.2 DWD层

DWD层需要构建维度模型,一般采用星型模型,呈现状态一般为星座状态。
选择业务过程–>声明粒度–>确认维度–>确认事实
(1)选择业务过程
挑选业务(下单业务,支付义务,退款业务,物流业务)
(2)声明粒度
声明粒度意味着精确定义事实表中的一行数据表示什么,已改尽可能选择小粒度,以此来应对各种各样的需求。
(3)确认维度
维度的作用是用来描述事实的,主要表示 谁、何处、何时等描述信息。
(4)确定事时
此处的事实一词是事实表中的度量值,例如订单金额、下单次数。

1.4.3 DWS层

(1)统计各个主题对象的当天行为,服务于DWT层的主题宽表。
(2)每天设备行为、每日会员行为、每日商品行为、每日地区统计、每日活动统计。

1.4.4 DWT层

(1)以分析的主题对象为建模驱动,基于上层的应用和产品指标需求,构建主题对象的全量宽表。

1.4.5 ADS层

(1)对电商系统各大主题指标分析进行统计。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值