表名结构:层前缀加业务域
表名由「分层前缀 + 业务域 + 业务实体 + 周期后缀」组成,例如 dwd_trade_refund_di。业务域取自固定词表(trade、user、item、flow、fulfill、fin),业务实体用英文名词(order、payment、refund)。禁止拼音、自创缩写、以及把日期或版本号写进表名,避免同一实体出现多种写法。
基本信息
| 结构 | 分层前缀_业务域_实体_周期 |
|---|---|
| 业务域 | trade/user/item/flow 等固定词表 |
| 周期后缀 | di 日增量、df 日全量、day 日汇总 |
| 禁止 | 拼音、自创缩写、日期、版本号 |
| 长度 | 建议不超过 40 字符 |
典型使用场景
- 新建表先查业务域词表,没有对应域先登记词表再建表
- 命名评审:不查文档就能看出层、域、实体与周期
- 同一实体多个周期用后缀区分(dwd_trade_refund_di 与 dws_trade_refund_day),而不是靠目录区分
- 版本迭代靠变更记录与字段注释,不在表名里带 v2、final、new
- 旧表下线走流程,不留 dwd_trade_refund_old 这类临时命名长期存在
命名正反例
命名正反例
推荐:
dwd_trade_refund_di 交易域退款明细,日增量
dwd_user_login_di 用户域登录明细,日增量
dws_item_sku_day 商品域 SKU 日汇总
避免:
dwd_dingdan_2026 拼音加日期,层与域都看不出来
dwd_trade_refund_v2_final 带版本号,历史版本长期残留
dwd_TR_trade_order 自创缩写且大小写混用命名要素拆解
| 要素 | 取值来源 | 示例 |
|---|---|---|
| 分层前缀 | ods/dwd/dws/ads | dwd |
| 业务域 | 固定词表 | trade |
| 业务实体 | 英文名词 | refund |
| 周期后缀 | di/df/day/hour | di |
业务域词表要维护成可检索的字典,跨团队新增域先登记再建表;否则同一个业务会同时出现 trade 与 deal 两种写法,血缘和权限都难统一。
表名带日期意味着无法原地迭代,每次改逻辑都要新建表;正确做法是覆盖生产表并留变更记录,历史由分区与时间旅行承担。
英文实体名统一用单数还是复数、用下划线还是连字符,都要在规范里写死并配示例;规范只写原则不给例子,落表时仍会出现 order、orders、order_info 三种写法。
临时表与中间表也要有命名规则(例如 tmp_、stg_ 前缀加负责人标识),并设置自动清理,否则临时名会以正式表的形态长期留在仓库里。