Please enable JavaScript.
Coggle requires JavaScript to display documents.
Lec 4, Summary, Advanced Dimensional Modelling(高级维度建模) - Coggle Diagram
Lec 4
Summary
雪花模型 vs 星型模型
事实类型
事实表类型
统一维度(Conformed Dimensions)
缓慢变化维度(SCD)
迷你维度(Mini-dimensions)
优秀模型特征
Advanced Dimensional Modelling(高级维度建模)
从ER模型到星型模型(ER → Star Schema)
分类实体(Classify Entities)
Transaction 实体(如订单、付款)
Component 实体(维度数据,如客户、产品)
Classification 实体(嵌套层级数据,如行业)
设计高层Star Schema
为每个事务实体建立一个事实表
合理选择维度(时间、客户、地点等)
构建详细事实表
确定主键(通常是复合键或业务事件键)
包含可加性指标(销售额、数量)
构建详细维度表
定义代理键(surrogate key)
维度层级折叠(collapse hierarchies)
代码转化为描述性文字
星型模型(Star Schema)与雪花模型(Snowflake Schema)
星型 Star
结构简单,连接直接,适合快速查询
订单事实表中心,四周客户、时间、产品、门店维度
雪花 Snowflake
维度表进一步规范化(多层拆分)
客户维度表 → 拆成 客户 → 城市 → 国家三级
维度建模的优势
Chunking(认知分块):每个Star Schema即为一个概念单元
支持OLAP操作:便于“上卷/下钻”(roll-up/drill-down)分析
简单直观:非技术用户也能理解
事实表设计:Facts & Fact Tables
Additive Facts 可对所有维度相加 销售额、数量
Semi-additive 不能跨所有维度加总(如时间) 账户余额
Non-additive 完全不可加 比例、比率(如利润率)
Transaction Table 每个业务事件一条记录 销售记录(订单号、金额)
Snapshot Table 定期快照 月末库存余额
Factless Table 无指标,仅记录事件 客户访问日志(客户ID+访问时间)
重要设计概念
Conformed Dimensions(统一维度)
多个数据集/事实表共享的统一维度(如“客户”在销售、发票、库存中一致)
Slowly Changing Dimensions(SCD,缓慢变化维度)
Type 1 直接覆盖旧值 简单但无法追踪历史
Type 2 新建一条记录,增加版本字段 保留历史
Type 3 增加“旧值”字段 只能追踪一层历史
Mini-dimensions(迷你维度)
将大维度表中高频访问的属性抽出,形成小表(<10万组合),提升性能
优秀的维度模型的六大标准
简单:每个事实表包含 5-9 个维度最佳(短期记忆限制)
易懂:使用业务语言、描述性字段(避免代码)
完整:覆盖所有分析需求的维度与指标
合理粒度:细粒度便于灵活分析
一致性:统一维度(conformed dimensions)
低出错率:避免聚合冲突,选用可加指标