XXXXXX数据库设计规范模板
1.1数据库选用开源社区MYSQL5.7.22版本
1.2表存储引擎使用InnoDB
1.3字符集只能使用utf8或者utf8mb4
1.4慎重使用存储过程,视图,触发器
1.5禁止在数据库中存储文件,图片等二进制数据文件,数据库中只存储路径
命名规范主要针对数据库名,表名,字段名
2.1必须用小写,采用下划线连接
2.2必须见名知义,长度不要超过32个字符
2.3推荐最终叶子子表使用id作为主键名称,父表使用*_id作为主键名称
2.4尽量使用语义最匹配的英文单词或行业缩写词进行命名
2.5系统相关的表统一使用sys_前缀,业务相关的表统一使用biz_前缀
3.1表必须有主键,统一使用32位uuid作为主键
3.2禁止使用复合主键,禁止使用外键
3.3将数据量很大的字段和访问频度低的字段拆分到单独的表中存储,分离冷热数据
3.4区别对待tinyint,int,bigint,char,varchar,year,date,time,timestamp,datetime
3.5尽量把字段定义为NOT NULL,并尽可能的设置有效默认值
3.6慎重使用ENUM,BLOB,BINARY作为类型
3.7唯一索引使用uniq_*,非唯一索引使用index_*,尽量少的创建索引
3.8表和字段必须添加注释
3.9每张表必须包含create_user_id,create_datetime,modify_user_id,modify_datetime,version
delete_flag六个字段
4.1禁止使用select * from table查询语言,必须指定字段
4.2禁止使用insert into table values(*,*,...),必须指定字段
4.3尽量不使用join查询和子查询,被join的字段必须类型相同
4.4 where条件中尽量不使用函数或者表达式
4.5能使用in的坚决不使用or
1. 严格按照以上数据库设计规范进行执行,上述中未约定的事宜,通过大家探讨后决议,请不要私自主张定义。
2. 非自己维护或新建的表不能在表上添加字段,若需求必须添加字段,请联系该表的维护人员或管理人员。
1.设计字段时,如设计sex(性别:男、女)字段的类型为int时,1代表为男,2代表为女。不要使用0作为有效值。
2.如设计审核状态字段时,status(审核状态:待审核、审核通过、审核未通过)字段的类型为int时,0待审核、1审核通过、2审核未通过,此时可以使用int默认值0做为业务有效值。
评论留言