12:企业规范约束-MySQL

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了12:企业规范约束-MySQL相关的知识,希望对你有一定的参考价值。

(目录)

12.1 ★库表字段约束规范

字段名:

  • is_vip unsigned tinyint 长度为1
  • mysql命名是不区分大小写的,字段名必须是小写字母
  • 字段分割用下划线隔开,且一旦定义就不能改字段了

表名:

  • mysql仓库名一般和应用名保持一致,关键词不能用作表名,且表名不能出现复数

索引名:

  • 主键一般是以pk_xxx开头,唯一键以uk_xxxidx_xxx等开头
  • 小数类型禁止使用floatdouble,防止丢失精度,数据很小用char(定长),不使用varchar(变长),很长直接用text

表定义:

  • 表里必须定义(强制要求)的字段 idcreate_timeupdate_time
  • id必须为主键,必须为无符号自增bigint类型,不能定义为int,除非是分布式id
  • create_timeupdate_time必须为datatime类型
  • 单表行数不超过500W行,一般要分表

12.2 索引规范

索引约束:

  • 一般情况下,有唯一特性的字段要设置唯一索引
  • 在实际开发当中不允许多于两个表的查询
  • 多表查询的时候,关联的字段也要有索引
  • 大多数情况下有约束规范就足够了,实习生不用去建索引

12.3 ★SQL开发约束规范

开发约束:

  • 不能用where name = null 来判断是否为空,需要用where name is null
  • 并发项目中不要使用并发和级联,一切外键的问题在应用层解决
  • 不能使用存储过程
  • 子查询中避免in操作
  • 编码格式统一utf-8

12.4 其他规范

  • ORM(Object Relational Mapping)对象关系映射框架不能使用select *作为查询语句,因为效率太低,很多数据没必要查询出来
  • 布尔类型不能加is ,数据库字段必须加is下划线
  • @Transactional 不要滥用,可能会影响数据库的QBS
  • DBS 即Database System,是数据库系统
  • QBS 即Query By String,是基于数据库的全文检索系统
  • 销毁表操作一定要快

总之数据库设计需要考虑周全,涉及的内容非常多……

以上是关于12:企业规范约束-MySQL的主要内容,如果未能解决你的问题,请参考以下文章

Mysql 查询阻塞和事物情况

第一章-MySQL-简介及安装-超详细

MySQL基础|在Navicat中输入SQL语句步骤含SQL语句约束规范

mysql外键约束

MySQL表的完整性约束

MySQL表的完整性约束