数据库通用规范
跳到导航
跳到搜索
DB通用规范说明
以下规则适用于数据库之表、视图、函数、过程、包等对象命名,以及字段、变量命名之约定;
对象命名原则
建议:
- 使用有意义之英文词汇,合理使用缩写。多个单词,中间以下划线分割
- 较少使用单个字符、单个单词及数字命名,谨慎使用拼音(可以使用有约定俗成之缩写,如BJ)
- 使用较多之共用字段时可以自定义名称,如:CREATE_TIME --> CT
- 索引以I_ 或P_ 或U_等分不同索引,索引包含表名全部或部分,除主键外应包含索引字段全部或部分;也可适当标明特殊索引,如:IB(BITMAP),IR(REVERSE)
- 视图以V_开头,包含表名全部或部分,亦可包含部分条件字段
- 函数、过程命名应能区分通用及只针对某种表或数据之操作
防止:
- 防止数字开头,小写字母;多字节字符
- 防止大量使用拼音及拼音缩写
- 防止大量使用无意义缩写
- 防止同名不同义,同义不同名
- 防止使用单个单词、字符
禁止:
- 禁止使用保留字
对象使用原则
建议:
- 使用少数基础类型
- 如ORACLE中的VARCHAR2,NUMBER,DATE等;
- 如Clickhouse中的 String、Int8(有效2位)/Int64、Datetime、Decimal等;
- 如Greenplum中的 varchar、numeric、timestamp等;
- 不过多使用自定义TYPE;
- 谨慎建立索引,不过多建立索引;良好的索引回收机制;
- 表空间与索引空间分开;
- 除非必要慎用触发器;
- SEQuence使用CACHE,大小可根据操作频次调整;RAC环境可根据实际需要,设置是否ORDER;
防止:
- 防止使用特殊类型,如ORACLE中的xLOB,LONG RAW,TIMESTAME等;
- 同一用户使用多个表空间;
- 不同分区使用多个表空间;
禁止:
- 禁止重复索引,如索引字段顺序重复:ABCD,ABC之为重复索引;
- 禁止使用时区时间字段;