数据库设计规范
- 所有的表都必须有几个公共字段
- id 主键
- revision 乐观锁版本控制
- create_time 创建时间
- creator 创建者
- update_time 更新时间
- updater 更新者
- delete_flag 删除标识
- id等数字类型的字段,不能只是bigint,应该是bigint unsigned
这是由阿里巴巴提出的,bigint unsigned可以更好的使用B+树索引 - varchar默认长度为32,不要用255
大部分的情况32位都可以满足需求,不需要使用255,有特殊情况再进行特殊设计例如存储单字符的数据仅需要1位即可。过长的varchar会造成内存上的浪费。 - 所有字段都必须是非空,必须有默认值
这么做是为了防止在访问数据库时查询到空数据,造成后端的空指针异常 - 在创建create_time字段和update_time字段时,使用以下设置
create_time
datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT ‘创建时间’,
update_time
datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT ‘更新时间’
这样可以方便操作,添加数据时默认值是当前时间戳,update_time在更新时自动更改为当前时间戳