数据仓库命名规范
Posted shan13936
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据仓库命名规范相关的知识,希望对你有一定的参考价值。
数据仓库命名规范
目录
1. 概述 3
2. 数据仓库命名规范 4
2.1. 命名规范 4
2.1.1. 表属性规范 4
2.1.2. 索引 9
2.1.3. 视图 10
2.1.4. 物化视图 10
2.1.5. 存储过程 10
2.1.6. 触发器 10
2.1.7. 函数 10
2.1.8. 数据包 10
2.1.9. 序列 10
2.1.10. 普通变量 10
2.1.11. 游标变量 11
2.1.12. 记录型变量 11
2.1.13. 表类型变量 11
2.1.14. 数据库链接 11
2.2. 命名 11
2.2.1. 语言 11
2.2.2. 大小写 12
2.2.3. 单词分隔 12
2.2.4. 保留字 12
2.2.5. 命名长度 12
2.2.6. 字段名称 12
2.3. 数据类型 13
2.3.1. 字符型 13
2.3.2. 数字型 13
2.3.3. 日期和时间 13
2.3.4. 大字段 14
2.3.5. 唯一键 14
1. 概述
数据模型是数据管理的分析工具和交流的有力手段;同时,还能够很好地保证数据的一致性,是实现商务智能(Business Intelligence)的重要基础。因此建立、管理一个企业级的数据模型,应该遵循标准的命名和设计规范。
2. 数据仓库命名规范
2.1. 命名规范
2.1.1. 表属性规范
2.1.1.1. 表名
2.1.1.1.1. ODS层表名
前缀为ODS_应用系统名(缩写)_数据表名 。数据表名称必须以有特征含义的单词或缩写组成,中间可以用“_”分割,例如:ODS_FUN_CUSTOMERINFO。表名称不能用双引号包含,表名长度不超过30个字符。如果ODS设计采用贴源设计,数据表名应与源系统一致。
l 系统和应用名规则如下:
n 核心 COR
n 对公信贷 CLN
n 个贷 PLN
n 基金 FUN
n 票据 TIC
n 理财 FIN
n 报表 RPT
n ……
n 如有新系统,按规则添加
2.1.1.1.2. DW事实表表名
前缀为DW_主题名(缩写)_功能描述 。数据表名称必须以有特征含义的单词或缩写组成,中间可以用“_”分割,例如:DW_ORD_DETAIL。表名称不能用双引号包含,表名长度不超过30个字符。
l 主题名规则如下:
n 订单 ORD
n 营销活动 MKC
n 贷款 LN
n 网银 NET
n 客户 CUS
n ……
n 如有新主题,按规则添加
l 数据表名规则如下:
n 基础表 _BA
n 日汇总表 _D
n 月汇总表 _M
n 历史累计 _H
n 全量加载 _A
n 增量加载 _I
2.1.1.1.3. APP应用层表名
前缀为APP_主题名(缩写)_功能描述 。数据表名称必须以有特征含义的单词或缩写组成,中间可以用“_”分割,例如: APP_RPT_ DEALER_GOODS。表名称不能用双引号包含,表名长度不超过30个字符。
l 主题名规则如下:
n 报表 RPT
l 数据表名规则如下:
参考DW层表名称规范
2.1.1.1.4. DW/DM维度表表名
前缀为D_ 。数据表名称必须以有特征含义的单词或缩写组成,中间可以用“_”分割,例如:D_ACCOUNT、D_PUB_DATE。表名称不能用双引号包含,表名长度不超过30个字符。
l 数据表名规则如下:
n 日期维度 D_PUB_DATE
n 城市 D_CITY
2.1.1.1.5. 元数据表名
前缀为M_应用名(缩写)_功能描述 。数据表名称必须以有特征含义的单词或缩写组成,中间可以用“_”分割,例如:M_ETL_TASK。表名称不能用双引号包含,表名长度不超过30个字符。
l 应用名规则如下:
n ETL ETL
n 报表 RPT
n OLAP分析 OLP
n 源系统 SRC
n 数据库 DB
n 软硬件 SHW
n ……
n 如有新应用,按规则添加
2.1.1.2. 表分区名
前缀为p 。分区名必须有特定含义的单词或字串。
例如 :tbl_pstn_detail 的分区p2004100101表示该分区存储 2004100101时段的数据。
2.1.1.3. 字段名
字段名称必须用字母开头,采用有特征含义的单词或缩写,不能用双引号包含。
2.1.1.4. 字段排列
每个表中的字段排列也应该遵从相应的规则进行摆放:
- 同类属性尽量靠拢摆放
例如:“协议”实体中有一组“日期”属性,包括“开户日期”、“销户日期”、“签署日期”、“起息日期”、“到期日期”等,可以排列在一起、
- 相关属性尽量靠拢摆放
例如:“币种”、“金额”常常一起使用,应排列在一起;
- 重要的和常用的属性靠前
- 和源系统非常接近的表(特别是一对一的情况),和源系统的属性顺序一致
2.1.1.5. 主键名
前缀为PK_。主键名称应是 前缀+表名+构成的字段名。如果复合主键的构成字段较多,则只包含第一个字段。表名可以去掉前缀。
2.1.1.6. 外键名
前缀为FK_。外键名称应是 前缀+ 外键表名 + 主键表名 + 外键表构成的字段名。表名可以去掉前缀。
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. 字段名称
同一个字段名在一个数据库中只能代表一个意思。比如telephone在一个表中代表“电话号码”的意思,在另外一个表中就不能代表“手机号码”的意思。
不同的表用于相同内容的字段应该采用同样的名称,字段类型定义。
例如:
行为名称 |
行为英文名称 |
英文缩写 |
计数 |
Count |
cnt |
金额 |
Amount |
amt |
微信 |
Weixin |
Wx |
成功 |
success |
succ |
支付 |
Pay |
pay |
地址 |
Address |
addr |
订单 |
Order |
ord |
渠道 |
Channel |
chl |
完成 |
Finish |
Fin |
2.3. 数据类型
2.3.1. 字符型
固定长度的字串类型采用char,长度不固定的字串类型采用varchar。避免在长度不固定的情况下采用char类型。如果在数据迁移等出现以上情况,则必须使用trim()函数截去字串后的空格。
2.3.2. 数字型
数字型字段尽量采用number类型,要注意精度。
2.3.3. 日期和时间
2.3.3.1. 系统时间
由数据库产生的系统时间首选数据库的日期型,如DATE类型。
2.3.3.2. 外部时间
由数据导入或外部应用程序产生的日期时间类型采用varchar类型,数据格式采用:YYYYMMDDHH24MISS。
2.3.4. 大字段
如无特别需要,避免使用大字段(blob,clob,long,text,image等)。
2.3.5. 唯一键
对于数字型唯一键值,尽可能用自增产生。
以上是关于数据仓库命名规范的主要内容,如果未能解决你的问题,请参考以下文章
整理最全规范之Git仓库管理规范,Java开发规范,最全Java命名规范,数据库开发设计规范,接口设计规范