实体表
实体表,一般是指一个现实存在的业务对象,比如用户,商品,商家,销售员等等。
用户id 姓名 生日 性别 邮箱 用户等级 创建时间
1 张三 2011-11-11 男 zs@163.com 2 2018-11-11
2 李四 2011-11-11 女 ls@163.com 3 2018-11-11
3 王五 2011-11-11 中性 ww@163.com 1 2018-11-11
维度表
维度表,一般是指对应一些业务状态,编号的解释表。也可以称之为码表。比如地区表,订单状态,支付方式,审批状态,商品分类等等。
订单状态编号 订单状态名称
1 未支付
2 支付
3 发货中
4 已发货
5 已完成
事实表
事务型事实表
一般指随着业务发生不断产生的数据。特点是一旦发生不会再变化。
一般比如,交易流水,操作日志,出库入库记录等等
编号 对外业务编号 订单编号 用户编号 支付宝交易流水编号 支付金额 交易内容 支付类型 支付时间
1 7577697945 1 111 QEyF-63000323 223.00 海狗人参丸1 alipay 2019-02-10 00:50:02
2 0170099522 2 222 qdwV-25111279 589.00 海狗人参丸2 wechatpay
周期型事实表
一般指随着业务发生不断产生的数据。
与事务型不同的是,数据会随着业务周期性的推进而变化。
比如订单,其中订单状态会周期性变化。再比如,请假、贷款申请,随着批复状态在周期性变化。
订单编号 订单金额 订单状态
1 223.00 2
2 589.00 2
3 485.00 1
关系建模与维度建模
关系建模如下
关系模型主要应用与OLTP系统中,为了保证数据的一致性以及避免冗余,所以大部分业务系统的表都是遵循第三范式的。
维度建模如下
维度模型主要应用于OLAP系统中,因为关系模型虽然冗余少,但是在大规模数据,跨表分析统计查询过程中,会造成多表关联,这会大大降低执行效率。所以把相关各种表整理成两种:事实表和维度表两种。所有维度表围绕着事实表进行解释。
雪花模型、星型模型和星座模型
在维度建模的基础上又分为三种模型:星型模型、雪花模型、星座模型。
拉链表
为什么需要拉链表
如何使用拉链表
待续