数据库规范
数据库版本相关
版本:mysql8.0+
引擎:InnoDB
字符集:utf8mb4_general_ci
表名称 字段名称te
不允许使用大写字母,尽量使用英文或英文缩写,中间用下划线连接
数据表前缀为zzt_
同一功能模块的表(特别是附表)尽量保持前缀一致,(如案例 zzt_case 案例图片:zzt_case_img 案例风格:zzt_case_style)
主键
`id` int unsigned NOT NULL AUTO_INCREMENT
索引
在建表时就需要考虑在需要查询的字段增加合适的索引。
单表索引尽量不超过5个。
字段类型
尽量避免使用enum 。后续如增加还需要修改数据库才能发布线上。
选择合适的字段类型及长度:
状态类型一般情况下使用tinyint,
时间戳使用int unsigned,
标题名称等使用varchar并设置合适的长度,
金额等使用decimal 长度10,2
长度
字段要设置合适的长度,特别是姓名,身份证号等varchar字段,不要使用默认的255,够用即可。
NULL
尽量不使用NULL(text类型除外),设置默认值。字符串类型建议使用默认值:''(空字符串),数字类型默认值一般为0
注释
每个字段都要写注释。状态类注释建议格式“状态:1=启用,0=禁用”
命名规范
状态:尽量使用 status 或*_status。
时间戳字段:尽量使用time或*_time。int unsigned NOT NULL DEFAULT '0' COMMENT '**时间'
常用字段汇总(尽量保持统一)
主键 int unsigned NOT NULL AUTO_INCREMENT COMMENT '序号',
status
tinyint NOT NULL DEFAULT '0' COMMENT '状态:0=禁用,1=启用',
design_id
int unsigned NOT NULL DEFAULT '0' COMMENT '设计师id',
corp_id
int unsigned NOT NULL DEFAULT '0' COMMENT '企业id',
user_id
int unsigned NOT NULL DEFAULT '0' COMMENT '申请人id',
create_time
int unsigned NOT NULL DEFAULT '0' COMMENT '添加时间',
update_time
int unsigned NOT NULL DEFAULT '0' COMMENT '更新时间',
delete_time
int unsigned NOT NULL DEFAULT '0' COMMENT '删除时间',