开发设计建议概述
本开发设计建议约定数据库建模和数据库应用程序开发过程中,应当遵守的设计规范。依据这些规范进行建模,能够更好的契合GaussDB Kernel的分布式处理架构,输出更高效的业务SQL代码。
本开发设计建议中所陈述的“建议”和“关注”含义如下:
- 建议:用户应当遵守的设计规则。遵守这些规则,能够保证业务的高效运行;违反这些规则,将导致业务性能的大幅下降或某些业务逻辑错误。
- 关注:在业务开发过程中客户需要注意的细则。用于标识容易导致客户理解错误的知识点(实际上遵守SQL标准的SQL行为),或者程序中潜在的客户不易感知的默认行为。
数据库对象命名
数据库对象命名需要满足约束:
- 标识符非时序表长度不超过63个字节,时序表(当前特性是实验室特性,使用时请联系华为工程师提供技术支持)长度不超过53个字符。
- 标识符以字母或下划线开头,中间字符可以是字母、数字、下划线、$、#。
- 若标识符被双引号("")包含,则可以使用合法字符的任意组合,如"123gs_column"。
- 标识符不区分大小写,只有被双引号包含才区分大小写。
- 【建议】避免使用保留或者非保留关键字命名数据库对象。
说明:
可以使用select * from pg_get_keywords()查询GaussDB Kernel的关键字,或者在关键字章节中查看。
- 【建议】避免使用双引号括起来的字符串来定义数据库对象名称,除非需要限制数据库对象名称的大小写。数据库对象名称大小写敏感会使定位问题难度增加。
- 【建议】数据库对象命名风格务必保持统一。
- 增量开发的业务系统或进行业务迁移的系统,建议遵守历史的命名风格。
- 建议使用多个单词组成,以下划线分割。
- 数据库对象名称建议能够望文知意,尽量避免使用自定义缩写(可以使用通用的术语缩写进行命名)。例如,在命名中可以使用具有实际业务含义的英文词汇或汉语拼音,但规则应该在集群范围内保持一致。
- 变量名的关键是要具有描述性,即变量名称要有一定的意义,变量名要有前缀标明该变量的类型。
- 【建议】表对象的命名应该可以表征该表的重要特征。例如,在表对象命名时区分该表是普通表、临时表还是非日志表:
- 普通表名按照数据集的业务含义命名。
- 临时表以“tmp_+后缀”命名。
- 非日志表以“ul_+后缀”命名。
- 外表以“f_+后缀”命名。
- 不创建以redis_为前缀的数据库对象。
- 不创建以mlog_和以matviewmap_为前缀的数据库对象。
- 不创建以gs_role_为前缀的数据库对象。
- 【建议】非时序表对象命名建议不要超过63字节。如果超过该长度内核会对表名进行截断,从而出现实际名称和设置值不一致的现象;且在不同字符集下,可能造成字符被截断,出现预期外的字符。数据库对象命名需要满足约束:
- 标识符非时序表长度不超过63个字节,时序表(当前特性是实验室特性,使用时请联系华为工程师提供技术支持)长度不超过53个字符。
- 标识符以字母或下划线开头,中间字符可以是字母、数字、下划线、$、#。
- 若标识符被双引号("")包含,则可以使用合法字符的任意组合,如"123gs_column"。
- 标识符不区分大小写,只有被双引号包含才区分大小写。
- 【建议】避免使用保留或者非保留关键字命名数据库对象。
说明:
可以使用select * from pg_get_keywords()查询GaussDB Kernel的关键字,或者在关键字章节中查看。
- 【建议】避免使用双引号括起来的字符串来定义数据库对象名称,除非需要限制数据库对象名称的大小写。数据库对象名称大小写敏感会使定位问题难度增加。
- 【建议】数据库对象命名风格务必保持统一。
- 增量开发的业务系统或进行业务迁移的系统,建议遵守历史的命名风格。
- 建议使用多个单词组成,以下划线分割。
- 数据库对象名称建议能够望文知意,尽量避免使用自定义缩写(可以使用通用的术语缩写进行命名)。例如,在命名中可以使用具有实际业务含义的英文词汇或汉语拼音,但规则应该在集群范围内保持一致。
- 变量名的关键是要具有描述性,即变量名称要有一定的意义,变量名要有前缀标明该变量的类型。
- 【建议】表对象的命名应该可以表征该表的重要特征。例如,在表对象命名时区分该表是普通表、临时表还是非日志表:
- 普通表名按照数据集的业务含义命名。
- 临时表以“tmp_+后缀”命名。
- 非日志表以“ul_+后缀”命名。
- 外表以“f_+后缀”命名。
- 不创建以redis_为前缀的数据库对象。
- 不创建以mlog_和以matviewmap_为前缀的数据库对象。
- 不创建以gs_role_为前缀的数据库对象。
- 【建议】非时序表对象命名建议不要超过63字节。如果超过该长度内核会对表名进行截断,从而出现实际名称和设置值不一致的现象;且在不同字符集下,可能造成字符被截断,出现预期外的字符。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




