首页/数据/数据工程与 ETL 速查/粒度声明与唯一键校验
本包目录(311 条)

粒度声明与唯一键校验

粒度声明回答一行代表什么,并以主键或唯一键固化:订单明细用订单号加明细序号,日快照用日期加实体键;没有唯一键的表几乎必然产生重复数据。

声明位置建表注释、数据字典、任务说明
固化方式主键、唯一键或去重逻辑
常见粒度事件级、明细行级、日快照级
验证按业务键分组计数应等于 1

粒度校验

粒度校验
-- 明细表:订单号加明细序号 应唯一
SELECT order_id, item_no, COUNT(1) AS c
FROM dwd_trade_order_detail_di
WHERE dt = '2026-10-11'
GROUP BY order_id, item_no
HAVING COUNT(1) > 1
LIMIT 50;
把粒度校验放进每日例行稽核,能在上游变更导致重复时尽早发现。

易错点

  • 明细表没有唯一键约束,上游重跑叠加出重复行
  • 粒度升级(明细变汇总)时未同步更新下游口径说明

数据来源与参考

  • Kimball《The Data Warehouse Toolkit》粒度声明
  • 行业数仓建模规范
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌