1、数据库对象命名需要满足约束:长度不超过63个字符, 以字母或下划线开头, 中间字符可以是字母、数字、下划线、$、#。
2、不使用保留或非保留关键字命名数据库对象。
Tip:可以使用指令查看关键字:SELECT * FROM pg_get_keywords();
3、避免使用双引号括起来的字符串来定义数据库对象名称,除非必须限制数据库对象名称的大小写。
Tip:GaussDB默认不区分SQL中对象名称的大小写,假如同一数据库中同时存在“t_Table”“t_table”两张不同的表,这种情况下应使用“”双引号,如果不存在该情况,禁止避免使用“”双引号。数据库对象名称大小写敏感会使定位问题难度增加。
4、数据库对象命名风格务必保持统一,建议使用小写。增量开发的业务系统或进行业务迁移的系统,建议遵守历史的命名风格。建议使用多个单词组成,以下划线分割。数据库对象名称建议能够望文知意,尽量避免使用自定义缩写(可以使用通用的术语缩写进行命名)。例如,在命名中可以使用具有实际业务含义的英文词汇或汉语拼音,但规则应该在集群范围内保持一致。变量名的关键是要具有描述性,即变量名称要有一定的意义,变量名要有前缀标明该变量的类型。
数据库对象命名规则:
对象类型 | 前缀 | 范例 | 长度约束 (单位:字节) | 备注 |
|---|---|---|---|---|
数据库名 | db__ | db_businessname | <=63 | / |
普通表 | t_ | t_tablename | <=63 | / |
临时表 | tmp_ | tmp_tablename | <=63 | 例如:运营人员临时用作备份或临时进行数据采集用的中间表。 建议使用命名规则:tmp_表名缩写_创建人帐号缩写_创建日期,例如:tmp_user_ytw_160505 |
主键 | pk_ | pk_tablename | <=63 | 如果表名过长,则用表名的缩写表示,尽量使用通用缩写或去元音的缩写方式。 |
唯一性约束 | uk_ | uk_tablename_columnname | <=63 | 唯一索引,用uk_表示。 如果表名或字段名过长,则用表名和字段名的缩写表示,尽量使用通用缩写或去元音的缩写方式。 |
函数 | f_ | f_functionname | <=63 | / |
表字段 | / | / | <=63 | 字段命名建议使用实际含义的英文单词或简写。 例如表示bool类型的字段,命名规则:“is_”+描述。如member表上表示为enabled的会员的列命名为is_enabled; |




