16、数据仓库建模与日历管理:从理论到实践

数据仓库建模与日历管理:从理论到实践

1. 实体关系模型与维度模型的差异

在数据建模中,实体关系模型和维度模型有着显著的不同。实体通常代表可识别的业务对象,如客户、仓库、产品或订单等。实体包含描述自身的属性并确立主键,附属实体则为主要实体提供更多细节。这些实体的结构、关系和属性与业务中的实际结构极为相似。

而维度模型则由维度和事实两类对象构成。事实包含度量和维度外键,度量通常是数值,代表业务中发生的某个动作的量级。例如,在销售事实表中,度量可以是销售数量和销售价值。维度外键通过引用相应的维度行来定义度量的上下文。维度是属性的集合,需要注意的是,维度建模中的属性仅指维度表中的列,而在关系建模中,属性的概念更为宽泛。

下面通过一个销售订单的例子来说明两者的差异:
| 实体关系模型 | 维度模型 |
| — | — |
| 包含订单实体和订单行实体,分别描述订单文档和订单行信息,两者都有描述订单及其状态的属性 | 有订单状态维度,描述订单及其行上遇到的唯一状态码值组合,包含实体模型中订单和订单行实体的属性 |

维度设计的主要目的是简化和加速查询。例如,用户在包含500万条订单的数据库中基于特定订单原因进行分析时,在关系模型中,查询需要先定位具有该订单原因的订单,再连接到订单行。若有100万条订单符合该原因,数据库系统需要做大量工作来查找所有订单行。而在维度模型中,订单状态维度只包含唯一的状态码组合,这样的维度通常只有100 - 200行,其中可能只有25行包含感兴趣的原因码。数据库只需在事实表中查找25个外键就能定位所有订单事实行。

2. 维护维度一致性

从纯关系型数据仓库部署维度模型时,一个

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值