软件开发SQL通用标准规范 -V0.4.docxVIP

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

SQL通用规范

建表规约

【强制】数据库表名由多段组成,即类别词、基本词和限定词。

表名命名须使用有意义的英文词汇,见名知意,禁止使用拼音及拼音英文混用方式,特别是不要用拼音缩写。

表名必须要有类别词和基本词,限定词可以缺省。

表名禁止出现数字开头。

表名禁止两个下划线中间只出现数字。

表名总长度不能超过30字符。

表名必须有备注并及时更新。

表名不使用复数名词。表名应该仅仅表示表里面的实体内容,不应该表示实体数量,对应于DO类名也是单数形式,符合表达习惯。

建议使用名词不是动词。

【强制】字段名由多段组成,即类别词、基本词和限定词。,禁止出现数字开头,

说明:数据库字段名的修改代价很大,因为无法进行预发布,所以字段名称需要慎重考虑。

字段名命名须使用有意义的英文词汇,见名知意,禁止使用拼音及拼音英文混用方式,特别是不要用拼音缩写。

字段名必须使用大写字母或数字。)

说明:便于维护与访问,使用小写在不加双引号是下会出现无法匹配到表的情况。

表名禁止出现数字开头。

表名禁止两个下划线中间只出现数字。

字段名要保证同名同意,异名异意。

字段名必须有备注并及时更新。

字段名总长度不能超过30字符。

尽量不使用LONG,TEXT,BLOB,CLOB,NCLOB,LONGRAW这一类的数据类型,而是使用其他可以替代的数据类型。

说明:大字段会导致行外存储且无法建聚集索引,对查询效率有影响。

建议使用名词不是动词。

【强制】数据库应用表必备五个字段:ID,CREATED_BY,CREATED_DATE,LAST_MODIFIED_BY,LAST_MODIFIED_DATE。

说明:其中ID为主键,类型为长整型,使用雪花算法保证全局唯一。CREATED_DATE,LAST_MODIFIED_DATE的类型均为date_time类型,CREATED_BY,LAST_MODIFIED_BY的类型均为varchar类型。所有基表都要有记录创建者、记录创建时间、记录最后修改者、记录最后修改时间等四个字段,用于记载每条记录的创建者、创建时间和最后修改者、最后修改时间。这些字段不能用于其它功能。每条记录作任何修改操作时,都要修改最后修改者、最后修改时间。

【强制】Sequence命名由SEQ_表名_列名组成。

【强制】禁用保留字,如desc、range、match、delayed等。(达梦数据库保留字详见附录B)

说明:使用数据库保留字会导致语句解析异常,达梦的完整的保留字列表可在数据库中查询select*fromv$reserved_words

【强制】表达“是”与“否”概念的字段,必须使用is_xxx的方式命名,数据类型根据实际使用数据库定义(1表示“是”,0表示“否”)。

【强制】varchar是可变长字符串,不预先分配存储空间,长度不要超过5000,如果存储长度大于此值,定义字段类型为text,独立出来一张表,用主键来对应,避免影响其它字段索引效率。

说明:大字段会导致行外存储且无法建聚集索引,对查询效率有影响。

【推荐】字段允许适当冗余,以提高性能,但是必须考虑数据同步的情况。

冗余字段应遵循:

不是频繁修改的字段。

不是varchar超长字段,更不能是text字段。

正例:商品类目名称使用频率高,字段长度短,名称基本一成不变,可在相关联的表中冗余存储类目名称,避免关联查询。

【推荐】单表行数超过500万行或者单表容量超过2GB,才推荐进行分库/分表。

说明:如果预计三年后的数据量根本达不到这个级别,请不要在创建表时就分库分表。

15、【参考】合适的字符存储长度,不但节约数据库表空间、节约索引存储,更重要的是提升检索速度。

说明:无符号值可以避免误存负数,且扩大了表示范围。尽可能避免使用varchar也会对运行效率有提升。

【推荐】时序数据优先考虑存入时序数据库。

说明:时序数据存储主要考虑采样点或者设备数、采样周期、数据存储时间以及写入方式和存储性能等因素,如果分钟级采样采样点在百万内,采用大批入库方式关系数据库一般也可以满足要求,对于秒级采样等周期短且规模大的场景一般建议采用专用的时序库进行存储为优;另外也应考虑入库后的数据应用场景问题。

【强制】二进制文件不允许写入关系数据库,应存入对象存储。

索引规约

【强制】索引命名IDX_表名_字段名(如果存在多字段索引,取每字段前三个字符加下划线组合)。

说明:IDX即index的简写。

唯一索引命名:UK_表名_字段名(如果存在多字段唯一索引,取每字段前三个字符加下划线组合)。

说明:UK即uniquekey的简写。

主键索引命名:PK_表名_字段名(如果存在多字段主键,取每字段前三个字符加下划线组合)。

【强制】业务上具

文档评论(0)

139****8165 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档