一.建表规范
1.基础规范
- 使用 INNODB 存储引擎
- 表字符集使用 UTF8
- 所有表都需要添加注释
- 单表数据量建议控制在 5000W 以内
- 不在数据库中存储图⽚、文件等大数据
- 禁止在线上做数据库压力测试
- 禁⽌从测试、开发环境直连数据库
2.命名规范
- 库名、表名、字段名、索引名全部小写。加上下划线'_'组成
- 库名、表名、字段名禁⽌止使⽤用MySQL保留字
- 库名、表名、字段名禁⽌止超过32个字符。须见名之意
- 临时库、表名必须以tmp为前缀,并以⽇日期为后缀
3.库、表、字段开发设计规范
- 表设计遵循三范式设计原则
- 所有表采用自增主键
- 所有字段均定义为 NOT NULL
- 可空字符串 默认值 ''
- 使用 DATETIME 存储日期时间。默认值 CURRENT_TIMESTAMP
- 使用 DATE 存储日期。默认值 '1970-01-01'
- 使用 TIME 存储时间。默认值 '00:00:00'
- 每张表需有创建时间、更新时间。示例如下:
create_time DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL COMMENT '创建时间',
update_time DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
operator varchar(100) DEFAULT '' NOT NULL COMMENT '操作者',
operation_time DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '操作时间',
4.建表语句示例
CREATE TABLE `quota_configure_info` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`quota_num` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT '名额数量',
`total_num` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT '今日名额总数',
`quota_date` date NOT NULL DEFAULT '1970-01-01' COMMENT '名额日',
`quota_time` time NOT NULL DEFAULT '10:30:00' COMMENT '名额时间',
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1151 DEFAULT CHARSET=utf8 COMMENT='名额控制配置信息'
网友评论