背景
对于大部分公司数据库设计都不是专业的DBA设置的,于是会出现相同的字段长度不一致,甚至类型不一致;为尽量减少这种情况,特意编制以下规范,以下规范均参考范式规范的前提下
普遍规范
- id 类型长度统一为11
- 统一两表之间关联字段的长度和类型;
- 弃用枚举enum类型,通过tinyint关联映射表或者代码常量设置,对于枚举较多的用tinyint(2)
- 设置布尔字段用tinyint(1)
- 尽可能选择小的数据类型和指定短的长度
- 记录中文的名字的字段统一varchar(32),英文名字同意varchar(64)
- 金额总价decimal(10,2),单价decimal(10,2);
- 尽量设置not null
- 除时间以为字段尽量设置默认值
- url链接varchar(120)
- int 类型根据实际需求尽量添加unsigned
- 时间类型设置timestamp(对于有跨国业务很有帮助)
- 时间类型的尽量不要设置成根据当前时间自动更新(导致写入和修改时间失败)
- 除了需要存储表情或有中文名的表需要设置字符为utf8mb4,其他默认utf8;
- 一定要注意表名和字段的注释
- 创建合理的索引
- 除了较少更新字段操作如文章博客类用MyISAM,其他默认Innodb
…