首页/数据/数仓建模速查/字段命名:小写下划线统一风格
分层与规范64 条

字段命名:小写下划线统一风格

字段统一小写加下划线(snake_case),不使用驼峰与中文;单词间用动词与名词组合,缩写在字段级别要保持一致。

数仓建模速查数据更新于 2026-10-13

字段命名风格

字段命名统一为小写加下划线(snake_case),不用驼峰、中文和空格。这一条在跨引擎时尤其重要:Hive 会把未加引号的字段名统一转成小写,源系统的 customerId 落到 Hive 里可能变成 customerid,与下游引用的写法不一致就会报字段不存在。除大小写风格外,字段还应当遵循「主体_对象_限定」的组合顺序,缩写在同一套数仓里保持一致。

基本信息

风格全小写加下划线(snake_case)
组合顺序主体_对象_限定,如 user_id
布尔字段以 is_ 或 has_ 开头,如 is_first_order
缩写约定同一含义只用一种缩写,全库统一
禁止写法驼峰、中文、空格、引擎保留字

常见字段模式

字段类型命名规律示例
主键与标识以 _id 或 _sk 结尾order_id、customer_sk
度量值以 _cnt、_amt、_rate 结尾order_cnt、pay_amt
布尔标记以 is_ 或 has_ 开头is_new_user、has_coupon
时间字段以 _time 或 _date 结尾create_time、birth_date

字段示例

字段示例
SELECT user_id,          -- 主体 + 标识
       order_cnt,        -- 对象 + 数量度量
       pay_amt,          -- 金额度量
       is_first_order,   -- 布尔标记,is_ 开头
       create_time       -- 时间字段,_time 结尾
FROM dwd_trade_order_di;
同一含义出现 customerId、cust_id、c_id 三种写法,下游关联与口径对齐都会出错:JOIN 时看着名字不同就当成两列处理,实际指的是同一个人,指标因此被拆分或放大。
命名冲突要提前规避:导出工具生成的 col1、col2 这类字段名,以及 order、group 这类各引擎的保留字,都应在建模阶段改成有含义且不冲突的名字;等表上线后再改,需要协调所有下游。
改字段名的影响面常被低估:下游脚本、BI 数据集、接口字段映射都可能引用它。所以新增含义时优先新增字段并把旧字段标注废弃,而不是直接改名;确需改名时要留出兼容期,让消费方自行切换。
字段一致性可以用工具检查:把字段清单导出成字段字典,定期比对同义字段的命名与类型,比人工评审更容易发现问题。字段字典同时也是新人熟悉这套数仓最快的入口。

易错点

  • 同一含义多种写法:客户既叫 cust_id 又叫 customer_id,JOIN 时对不上
  • 字段名带大写:跨引擎后大小写被统一,下游引用直接报字段不存在
  • 用保留字当字段名:SQL 必须处处加引号,迁移时极易出错
  • 缩写不统一:同一张表里既有 amt 又有 amount,取数时容易取错列
  • 用中文或空格当字段名:BI 工具与代码生成器兼容性差,难以维护

数据来源与参考

  • 阿里《大数据之路:阿里巴巴大数据实践》
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌