RELATEED CONSULTING
相关咨询
选择下列产品马上在线沟通
服务时间:9:30-18:00
扫码咨询
关闭右侧工具栏
专业级的MySQL开发设计规范及SQL编写规范
  • 作者:admin
  • 发表时间:2020-11-28 07:50
  • 来源:未知

这篇文章主要介绍了专业级的MySQL开发设计规范及SQL编写规范,需要的朋友可以参考下

在团队开发过程中为了项目的稳定,代码的高效,管理的便捷制定内部种开发设计规范是必不可少的,

这里分享一份我们定义MySQL开发设计规范包括表设计规范,字段设计规范,SQL编写规范

数据库对象命名规范数据库对象命名规范的对象是指数据库SCHEMA、表TABLE、索引INDEX、约束CONSTRAINTS等的命名约定

数据库对象命名原则命名使用具有意义的英文词汇,词汇中间以下划线分隔

命名只能使用英文字母、数字、下划线

避免用MySQL的保留字如:call、group等

所有数据库对象使用小写字母

数据库命名规范数据库名不能超过30个字符

数据库命名必须为项目英文名称或有意义的简写

数据库创建时必须唐山网络公司添加默认字符集和校对规则子句。默认字符集为UTF8(已迁移dumbo的使用utf8mb4)

命名应使用小写

表命名规范同一个模块的表尽可能使用相同的前缀,表名称尽可能表达含义

多个单词以下划线(_)分隔

表名不能超过30个字符

普通表名以t_开头,表示为table,命名规则为t_模块名(或有意义的简写)_+table_name

临时表(运营、开发或数据库人员临时用作临时进行数据采集用的中间表)命名规则:加上tmp前缀和8位时间后缀(tmp_test_user_20181109)

备份表(DBA备份用作保存历史数据的中间表)命名规则:加上bak前缀和8位时间后缀(bak_test_user_20181109)

命名应使用小写

字段命名规范字段命名需要表示其实际含义的英文单词或简写,单词之间用下划线(_)进行连接

各表之间相同意义的字段必须同名

字段名不能超过30个字符

用户命名规范生产使用的用户命名格式为 code_应用

只读用户命名规则为 read_应用

数据库对象设计规范存储引擎的选择如无特殊需求,必须使用innodb存储引擎

字符集的选择如无特殊要求,必须使用utf8或utf8mb4

表设计规范不同应用间所对应的数据库表之间的关联应尽可能减少,不允许使用外键对表之间进行关联,确保组件对应的表之间的独立性,为系统或表结构的重构提供可能性

表设计的角度不应该针对整个系统进行数据库设计,而应该根据系统架构中组件划分,针对每个组件所处理的业务进行数据库设计

表必须要有PK

一个字段只表示一个含义

表不应该有重复列

禁止使用复杂数据类型(数组,自定义等)

需要join的字段(连接键),数据类型必须保持绝对一致,避免隐式转换

设计应至少满足第三范式,尽量减少数据冗余。一些特殊场景允许反范式化设计,但在项目评审时需要对冗余字段的设计给出解释