12:企业规范约束-MySQL
【摘要】 12.1 ★库表字段约束规范字段名:is_vip unsigned tinyint 长度为1mysql命名是不区分大小写的,字段名必须是小写字母字段分割用下划线隔开,且一旦定义就不能改字段了表名:mysql仓库名一般和应用名保持一致,关键词不能用作表名,且表名不能出现复数索引名:主键一般是以pk_xxx开头,唯一键以uk_xxx,idx_xxx等开头小数类型禁止使用float和double...
12.1 ★库表字段约束规范
字段名:
is_vip unsigned tinyint
长度为1- mysql命名是不区分大小写的,字段名必须是小写字母
- 字段分割用下划线隔开,且一旦定义就不能改字段了
表名:
- mysql仓库名一般和应用名保持一致,关键词不能用作表名,且表名不能出现复数
索引名:
- 主键一般是以
pk_xxx
开头,唯一键以uk_xxx
,idx_xxx
等开头 - 小数类型禁止使用
float
和double
,防止丢失精度,数据很小用char
(定长),不使用varchar
(变长),很长直接用text
表定义:
- 表里必须定义(强制要求)的字段
id
,create_time
,update_time
id
必须为主键,必须为无符号自增bigint
类型,不能定义为int
,除非是分布式id
create_time
,update_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,是基于数据库的全文检索系统
- 销毁表操作一定要快
总之数据库设计需要考虑周全,涉及的内容非常多……
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)