一、背景
在数据库设计时,缺少统一的规范约束,导致相同的业务场景存在有差异的实体或属性描述,导致阅读理解的成本增加。
二、目的
制定统一规范来约束,减少个性化开发。 规范库、表、字段、索引等创建的要求。
适合阅读人员:后台开发
三、规范要求
1.基础规范
使用InnoDB存储引擎
使用utf8mb4字符集
禁止存储大文件或者大照片
禁用外键约束
测试库名必须要有test标识
必须使用独立账号访问对应的数据库实例。
数据库名称、表名、字段名的命名要求:小写,以下划线连接,长度不超过32个字符,使用英文单词或简写,需见名知意,禁止英文和拼音混用。
禁止在代码中使用Mysql函数
2.安全规范
禁止使用IP连接。
禁止在线上库做数据库压力测试。
禁止非正式环境直连生产库。
禁止开放数据库外网端口,端口仅开放内网连接。
3.表设计规范
命名要求:项目简称_实体名,比如用户报名记录nplus_user_apply_record
表必须要有主键ID(关系表除外),默认自增长。
表必须要有注释,比如会员表、订单表等。
关系表:以_rel为后缀,比如实体1_实体2_rel
参数配置表:以_config为后缀。
临时表:以tmp_为前缀,以日期为后缀
备份表:以bak_为前缀,以日期为后缀
4.字段规范
字段名称以一个或多个单词描述,单词与单词间请用”_”分割,如:user_id
字段名禁止使用关键词,比如key、value
字段数量不超过30个。
字段必须写注释。
字符型字段必须设置length长度值。
字段类型为小数类型,设置 decimal,禁止使用 float 和 double(存在精度损失的问题)。
5.索引规范
单表索引数量不超过5个。
组合索引字段数不超过5个。
组合索引中区分度高的字段放置最左边。比如索引idx_a_b_c,查询中只要包括a字段,该索引都是起作用的。
索引命名:唯一索引以uk__,普通索引以idx__。如顾客表np_customer的顾客编号建立索引 idx_cus_code
禁止使用频繁修改的字段建立索引。
明确数据唯一时添加唯一索引,比如会员表的手机号码是唯一的,必须建立唯一索引uk_member_phone
途傲科技为中小企业提供网站制作、网站建设、微信H5、微信小程序,多商户平台,多级分销系统,APP开发,手机网站,HTML5多端自适应网站,营销型企业站建设,及对技术人才的培养等都积累与沉淀了丰富的心得和实战经验。
如果您有想法,可以将需求提交给我们【免费提交需求,获取解决方案】
免责声明:文章部分内容收集于互联网,不代表本站的观点和立场,如有侵权请联系删除。