
1) 【一句话结论】在银行数据仓库中,维度表需围绕业务分析维度(如客户、时间、产品)设计,事实表聚焦业务事件(如交易、贷款)的度量值,通过星型模式关联,支撑客户资产、贷款分布等分析。
2) 【原理/概念讲解】维度表是描述业务实体的“属性集合”,比如“客户维度表”包含客户ID、年龄、渠道等,用于提供分析维度;事实表是业务事件的“度量值集合”,比如“贷款发放事实表”包含贷款ID、金额、发放日期等,存储可加总的数据(如金额、笔数)。类比:维度表像超市的“商品目录”(描述商品属性),事实表像“销售记录”(记录销售金额、数量)。
3) 【对比与适用场景】
| 类别 | 维度表 | 事实表 |
| 定义 | 描述业务分析维度的结构化数据表,包含维度键和属性列 | 存储业务事件的度量值和维度键,度量值可加总 |
| 特性 | 低基数(如客户表通常几千条),属性多(描述性),非加总 | 高基数(如交易表百万级),度量值可加总(如金额、笔数),维度键多 |
| 使用场景 | 支持按维度分析(如按客户年龄分析资产)、维度切片 | 支撑聚合查询(如计算总贷款额、按产品类型分布)、度量计算 |
| 注意点 | 避免冗余属性,确保键唯一性 | 度量值类型一致(如金额用数值型),维度键外键关联 |
4) 【示例】
假设银行数据仓库中,客户资产分析需“客户维度表”和“资产事实表”:
5) 【面试口播版答案】面试官您好,针对银行数据仓库中维度表和事实表的设计,核心思路是围绕业务分析需求构建星型模式。首先,维度表要覆盖分析维度,比如客户维度(包含客户ID、年龄、渠道等属性)和时间维度(日期、月份、季度),这些表低基数、属性描述性强;事实表则聚焦业务事件,比如“贷款发放事实表”存储贷款ID、客户ID、贷款金额、发放日期等,其中金额是可加总度量值。通过维度键(如客户ID)关联,支持客户资产分析时,可按客户维度切片(如按年龄、渠道)对事实表中的资产金额进行聚合,快速得到不同维度的分析结果。比如计算“30-40岁线上客户的总资产”,就是通过客户维度筛选年龄和渠道条件,对资产事实表的金额汇总,这样既满足业务分析需求,又保证数据模型的灵活性和查询效率。
6) 【追问清单】
7) 【常见坑/雷区】