数据库规范2.0
- 数据库设计的怎么样, 是一款程序稳定性, 可扩展性, 易用性等等一切优秀的基石. 没有数据库的规范也就没有了所有的规范
- 理解约定的含义, 很多规范往往不是最好的, 但就是这么约定的
- 除专有名词可以用拼音(全拼)外, 数据库名, 表名, 字段名, 变量名等, 全部以英文命名, 对于不确定的英文单词, 先查单词表, 单词表内没有合适的再查词典, 最后把新单词加入单词表
- 拼音的字与字之间使用下划线隔开, 英文单词与单词之间也用下划线隔开, 全部小写, 不允许使用驼峰等其它方式
- 库名, 表名, 字段名见名知意, 建议使用名词而不是动词
- 禁止在数据库中存储图片、文件。
- 除ID字段外, 每个字段都要有COMMENT注释, 表也要有COMMENT, 并要表达清楚, 准确
- 每个字段定义除特殊要求外, 要有default值, 数值类型默认值一般为’0/1’. 如: 用户可用默认状态为可用, 值为1(排序字段sort默认值为50), 字符串类型一般为’’, 字段默认值除必须为NULL时不能为NULL
- Bool类型用tinyint类型代替, 0为false, 1为true
- 所有日期时间类型用时间格式(datatime), 名称以_time后缀结尾, 如:create_time创建时间, update_time更新时间
- 数据表ENGINE使用InnoDB格式 , CHARSET使用utf8mb4格式
- url类型一般为varchar(255), 如: http地址, 头像图片地址等
- 主键名统一使用: id int(10) 自增
- 类型字段不得使用字符串保存. 如:
- 禁用/正常(可用)状态的字段, 字段名统一使用: usable tinyint not null default 0/1 comment “是否禁用: 0为禁用, 1为正常”.
- 性别使用: sex tinyint not null default 0 comment “性别: 0为未知, 1为男, 2为