数据仓库命名规范
1. 概述
数据模型是数据管理的分析工具和交流的有力手段;同时,还能够很好地保证数据的一致性,是实现商务智能(Business Intelligence)的重要基础。因此建立、管理一个企业级的数据模型,应该遵循标准的命名和设计规范。
文章目录
- 1. 概述
- 2. 数据仓库命名规范
- 2.1. 命名规范
- 2.1.1. 表属性规范
- 2.1.1.1. 表名
- 2.1.1.2. DW事实表表名
- 2.1.1.3. APP应用层表名
- 2.1.1.4. DW/DM维度表表名
- 2.1.1.5. 元数据表名
- 2.1.2. 索引
- 2.1.2.1. 普通索引
- 2.1.2.2. 主键索引
- 2.1.2.3. 唯一索引
- 2.1.2.4. 外键索引
- 2.1.2.5. 函数索引
- 2.1.2.6. 簇索引
- 2.1.3. 视图
- 2.1.4. 物化视图
- 2.1.5. 存储过程
- 2.1.6. 触发器
- 2.1.7. 函数
- 2.1.8. 数据包
- 2.1.9. 序列
- 2.1.10. 普通变量
- 2.1.11. 游标变量
- 2.1.12. 记录型变量
- 2.1.13. 表类型变量
- 2.1.14. 数据库链接
- 2.2. 命名
- 2.2.1. 语言
- 2.2.2. 大小写
- 2.2.3. 单词分隔
- 2.2.4. 保留字
- 2.2.5. 命名长度
- 2.2.6. 字段名称
- 2.3. 数据类型
- 2.3.1. 字符型
- 2.3.2. 数字型
- 2.3.3. 日期和时间
- 2.3.4. 大字段
- 2.3.5. 唯一键
2. 数据仓库命名规范
2.1. 命名规范
2.1.1. 表属性规范
2.1.1.1. 表名
- ODS层表名
前缀为ODS_应用系统名(缩写)_数据表名。数据表名称必须以有特征含义的单词或缩写组成,中间可以用“_”分割,例如:ODS_FUN_CUSTOMERINFO。表名称不能用双引号包含,表名长度不超过30个字符。如果ODS设计采用贴源设计,数据表名应与源系统一致。
系统和应用名规则:- 核心
COR - 对公信贷
CLN - 个贷
PLN - 基金
FUN - 票据
TIC - 理财
FIN - 报表
RPT - ……
- 核心
2.1.1.2. DW事实表表名
- 前缀为
DW_主题名(缩写)_功能描述。数据表名称必须以有特征含义的单词或缩写组成,中间可以用“_”分割,例如:DW_ORD_DETAIL。表名称不能用双引号包含,表名长度不超过30个字符。
主题名规则:- 订单
ORD - 营销活动
MKC - 贷款
LN - 网银
NET - 客户
CUS - ……
数据表名规则: - 基础表
_BA - 日汇总表
_D - 月汇总表
_M - 历史累计
_H - 全量加载
_A - 增量加载
_I
- 订单
2.1.1.3. APP应用层表名
- 前缀为
APP_主题名(缩写)_功能描述。数据表名称必须以有特征含义的单词或缩写组成,中间可以用“_”分割,例如:APP_RPT_DEALER_GOODS。表名称不能用双引号包含,表名长度不超过30个字符。
参考DW层表名称规范。
2.1.1.4. DW/DM维度表表名
- 前缀为
D_。数据表名称必须以有特征含义的单词或缩写组成,中间可以用“_”分割,例如:D_ACCOUNT、D_PUB_DATE。表名称不能用双引号包含,表名长度不超过30个字符。
数据表名规则:- 日期维度
D_PUB_DATE - 城市
D_CITY
- 日期维度
2.1.1.5. 元数据表名
- 前缀为
M_应用名(缩写)_功能描述。数据表名称必须以有特征含义的单词或缩写组成,中间可以用“_”分割,例如:M_ETL_TASK。表名称不能用双引号包含,表名长度不超过30个字符。
应用名规则:- ETL
ETL - 报表
RPT - OLAP分析
OLP - 源系统
SRC - 数据库
DB - 软硬件
SHW - ……
- ETL
2.1.2. 索引
2.1.2.1. 普通索引
- 前缀为
IDX_。索引名称应是前缀+表名+构成的字段名。如果复合索引的构成字段较多,则只包含第一个字段,并添加序号。表名可以去掉前缀。
2.1.2.2. 主键索引
- 前缀为
IDX_PK_。索引名称应是前缀+表名+构成的主键字段名,在创建表时用using index指定主键索引属性。
2.1.2.3. 唯一索引
- 前缀为
IDX_UK_。索引名称应是前缀+表名+构成的字段名。
2.1.2.4. 外键索引
- 前缀为
IDX_FK_。索引名称应是前缀+表名+构成的外键字段名。
2.1.2.5. 函数索引
- 前缀为
IDX_func_。索引名称应是前缀+表名+构成的特征表达字符。
2.1.2.6. 簇索引
- 前缀为
IDX_clu_。索引名称应是前缀+表名+构成的簇字段。
2.1.3. 视图
- 前缀为
V_。按业务操作命名视图。
2.1.4. 物化视图
- 前缀为
MV_。按业务操作命名实体化视图。
2.1.5. 存储过程
- 前缀为
SP_。按业务操作命名存储过程。
2.1.6. 触发器
- 前缀为
Trig_。触发器名应是前缀+表名+触发器名。
2.1.7. 函数
- 前缀为
Func_。按业务操作命名函数。
2.1.8. 数据包
- 前缀为
Pkg_。按业务操作集合命名数据包。
2.1.9. 序列
- 前缀为
Seq_。按业务属性命名。
2.1.10. 普通变量
- 前缀为
Var_。存放字符、数字、日期型变量。
2.1.11. 游标变量
- 前缀为
Cur_。存放游标记录集。
2.1.12. 记录型变量
- 前缀为
Rec_。存放记录型数据。
2.1.13. 表类型变量
- 前缀为
Tab_。存放表类型数据。
2.1.14. 数据库链接
- 前缀为
dbl_。表示分布式数据库外部链接关系。
2.2. 命名
2.2.1. 语言
命名应该使用英文单词,避免使用拼音,特别不应该使用拼音简写。命名不允许使用中文或者特殊字符。
2.2.2. 大小写
名称一律小写,以方便不同数据库移植,以及避免程序调用问题。
2.2.3. 单词分隔
命名的各单词之间可以使用下划线进行分隔。
2.2.4. 保留字
命名不允许使用SQL保留字。
2.2.5. 命名长度
表名、字段名、视图名长度应限制在20个字符内(含前缀)。
2.2.6. 字段名称
同一个字段名在一个数据库中只能代表一个意思。不同的表用于相同内容的字段应该采用同样的名称,字段类型定义。
2.3. 数据类型
2.3.1. 字符型
固定长度的字串类型采用char,长度不固定的字串类型采用varchar。避免在长度不固定的情况下采用char类型。
2.3.2. 数字型
数字型字段尽量采用number类型,要注意精度。
2.3.3. 日期和时间
- 系统时间:由数据库产生的系统时间首选数据库的日期型,如
DATE类型。 - 外部时间:由数据导入或外部应用程序产生的日期时间类型采用
varchar类型,数据格式采用:YYYYMMDDHH24MISS。
2.3.4. 大字段
如无特别需要,避免使用大字段(blob,clob,long,text,image等)。
2.3.5. 唯一键
对于数字型唯一键值,尽可能用自增产生。
