首页/数据/数仓建模速查/代理键设计 Surrogate Key
建模基础69 条

代理键设计 Surrogate Key

维度表用无业务含义的自增/序列代理键做主键,事实表存代理键关联;代理键隔离业务键变化,支持同一业务键多个版本。

数仓建模速查数据更新于 2026-10-12
生成自增/序列/hash
优点隔离业务变化、支持 SCD
落库维表主键 + 事实外键

示例

示例
-- dim_product(product_sk bigint, product_id string, ...)
-- fact_order(..., product_sk bigint)
维度代理键与业务键的映射关系要能回溯,便于问题定位。

易错点

  • 事实表直接存业务键,业务键变更即断链
  • 代理键生成依赖单点自增,并行加载冲突

数据来源与参考

  • Kimball 方法论:代理键
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌