
# DWS数据库对象命名规则
数据库对象命名需要满足约束：长度不超过63个字符，以字母或下划线开头，中间字符可以是字母、数字、下划线、$。数据库字符集为GBK、UTF8、SQL_ASCII时对象命名支持中文汉字，其中UTF8、SQL_ASCII字符集下，一个中文汉字占3个字符，最多支持21个中文汉字；GBK字符集下，一个中文汉字占2个字符，最多支持31个中文汉字。Latin1字符集不支持中文汉字命名。字符集格式在创建数据库时指定，详情参见[CREATE DATABASE](https://support.huaweicloud.com/sqlreference-911-dws/dws_06_0156.html)。
- 【建议】避免使用保留或者非保留关键字命名数据库对象。
  ![](https://support.huaweicloud.com/devg-911-dws/public_sys-resources/note_3.0-zh-cn.png)
  可以使用**SELECT \* FROM pg_get_keywords();** 查询DWS的关键字或参考[关键字](https://support.huaweicloud.com/sqlreference-911-dws/dws_06_0007.html)章节。
  
- 【建议】避免使用双引号括起来的字符串来定义数据库对象名称，DWS中使用双引号将数据库对象名称括起来时表示对大小写敏感。数据库对象名称大小写敏感会使定位问题难度增加。
- 【建议】数据库对象命名风格务必保持统一。
  - 增量开发的业务系统或进行业务迁移的系统，建议遵守历史的命名风格。
  
  - 数据库对象名称由字母、数字和下划线组成，并且不能由数字开头。建议使用多个单词组成，以下划线分割。
  
  - 数据库对象名称最好能够望文知意，尽量避免使用自定义缩写（可以使用通用的术语缩写进行命名）。例如，在命名中可以使用具有实际业务含义的英文词汇或汉语拼音，但规则应该在集群范围内保持一致。
  
  - 变量名的关键是要具有描述性，即变量名称要有一定的意义，变量名要有前缀标明该变量的类型。
   
- 【建议】表对象的命名应该可以表征该表的重要特征。例如，在表对象命名时区分该表是普通表、临时表还是非日志表：
  - 普通表名按照数据集的业务含义命名。
  
  - 临时表以"tmp_+后缀"命名。
  
  - 非日志表以"ul_+后缀"命名。
  
  - 外表以"f_+后缀"命名。
   
 
