1. 命名规范作用
- 防止出现多个系统、多套命名规范;
- 不同的数据库,有自己不同的规范;
- 比如 Oracle 就有自己的规范,其他系统的规范在这个系统就不适用;
- 防止出现歧义;
- 减少不理解命名现象;
- 降低沟通成本;
2. 总体要求
- 清晰:
- 见名知意;
- 无歧义;
- 简单:
- 易读;
- 易懂;
- 不要滥用缩写;
- 通用:
- 可以共享;
- 稳定:
- 遵循经验共识;
- 不轻易变更;
- 一致性:
- 不同环境、保持同一含义;
- 用英文:
- 不要用汉字和拼音;
- 多用前后缀;
- 如:un_xxx、pre_xxx;
3. 禁忌规范
3.1. 命名禁忌
- 不用副词:
- 如:never、all;
- 不用冠词:
- 如:an、the;
- 不用代词:
- 如:it、them;
- 不用负向词:
- 如:not、no;
- 不用介词:
- 如:in、on、of;
- 不用连词:
- 如:and、or;
- 不用比较级:
- 如:better、more、best;
- 不用模糊词:
- 如:like、any;
- 不要用同义词:
- 同一含义、只用一个词;
- 不要一词多用:
- 每个词指标是一个意思;
- 不要有错别字;
- 不要用太专业的生僻词;
- 尤其是使用比较广泛的表和字段,尽量通俗易懂;
- 不要标新立异:
- 不要用大家看不懂的命名;
- 不用所有格:
- 如:customers_name;
- 不用时态、动名词;
- 缩写不要小写;
- 尽量用大写,如:CRM;
- 不要超过 75 个字符;
3.2. 缩写规范
- 尽可能使用现有缩写;
- 尽可能行业耳熟能详,不要标新立异;
- 词组,一般首字母缩写;
- 大写字母;
- to:
- 使用数字 2;
- for:
- 使用数字 4;
- 避免缩写冲突:
- 同一缩写,不能有多个含义;
- 保留辅音字母,省略元音字母;
4. 命名对象
4.1. 表空间
- 数据内容_用途_表空间_序号;
- 数据内容:
- 如:customer -> CSTM;
- 用途:
- 如:
- 表空间:
- 表内数据量;
- 如:10000条 -> 10K;
- 序号:
- 如:第一张表 -> 001;
4.2. 索引 Index
<IDX>_<COLUMN_NAME>
;
4.3. 键 Key
- 主键:
<PK>_<COLUMN_NAME>
;
- 外键:
<FK>_<COMUMN_NAME>
;
4.4. 约束
<CK>_<COLUMN_NAME>
;
4.5. ODS 层表命名
- Schema Name
- 按照数据来源命名;
- Table Name
- 与源表保持一致
4.6. DW 层表命名
- Schema Name
- 按照主题命名;
- Table Name
<表分类>_<TABLE_NAME>_<后缀>
;- 后缀:
- Detail;
- Log;
- REF:
- Reference,参照表,分类表,维度表;
4.7. DM 层表命名
- Schema Name
- 按照主题命名;
- Table Name
<分类表>_<TABLE_NAME>_<后缀>
;- 后缀:
- DIM
- Dimension,维度表;
- BRG
- Bridge,桥接表;
- FACT
- 常规事实表
- PERIOD_SNAP
- Period_Snapshot,周期快照;
- ACCUM_SNAP
- Accumulate_Snapshot,累积快照表;
- ATOM
- 原子级别
- SUMMARY
- 汇总级别
- DIM