12:企业规范约束-MySQL

本文详细介绍了数据库开发的规范,包括库表字段约束,如字段名小写、使用下划线分隔,表名避免复数,以及字段类型的选择。强调SQL开发中应避免空值判断错误,禁用存储过程,优化子查询操作。同时,提出了索引的创建原则,如唯一字段设唯一索引,多表查询关联字段需有索引。此外,还提及了ORM框架的使用注意事项和数据库事务的合理使用。
摘要由CSDN通过智能技术生成

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,是基于数据库的全文检索系统
  • 销毁表操作一定要快

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Yeats_Liao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值