首页 > 数据库 >12:企业规范约束-MySQL

12:企业规范约束-MySQL

时间:2022-11-11 10:38:40浏览次数:37  
标签:12 MySQL 规范 约束 索引 time xxx 查询


目录

  • ​​12.1 ★库表字段约束规范​​
  • ​​12.2 索引规范​​
  • ​​12.3 ★SQL开发约束规范​​
  • ​​12.4 其他规范​​

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

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


标签:12,MySQL,规范,约束,索引,time,xxx,查询
From: https://blog.51cto.com/u_15872973/5843036

相关文章

  • 10:子查询-MySQL
    目录​​10.1子查询基本语法​​​​10.2in和notin​​​​10.3exists和notexists​​​​10.4基础结束语​​10.1子查询基本语法将一个查询的结果作为另一个查......
  • 11:高级部分-MySQL
    目录​​(一)view视图​​​​1.开场​​​​2.view视图创建、使用以及作用​​​​3.显示视图​​​​4.更新和删除视图​​​​5.视图算法:temptable,merge​​​​(......
  • Windows Update MiniTool 20.12.2016 控制Window更新下载及使用教程
    目录​​一、下载教程​​​​1.wumt官网下载​​​​2.网盘下载​​​​二、Windows更新配置​​​​1.检查更新​​​​2.下载或安装更新​​​​3.隐藏更新​​​​4.卸......
  • 20201208史逸霏第十三章学习笔记
    第十三章读书笔记13.1TCP/IP协议IPv432位地址IPv6128位地址TCP/IP的哥哥层级以及每一层及的代表性组件及其功能顶层是使用TCP/IP的应用程序,用于登录到远程主机......
  • 0:数据库的产生-MySQL
    目录​​0.1什么是数据库database​​​​0.2抛出问题,数据库的产生​​​​0.3数据库萌芽阶段的发展历程​​​​0.4CRUD​​​​0.5层次模型​​​​0.6网状模型​......
  • Prometheus 监控Mysql服务器及Grafana可视化
    Prometheus监控Mysql服务器及Grafana可视化、mysql_exporter:用于收集MySQL性能信息。使用版本mysqld_exporter0.11.0官方地址使用文档:https://github.com/promethe......
  • 力扣-122-买卖股票的最佳时机Ⅱ
    你也可以先购买,然后在同一天出售这句有什么意义?逻辑上说跟不买没区别,但是可能跟算法实现有关系感觉很明显是动态规划,二维的吗?单笔交易我们是这么做的:维护一个最低......
  • mysql常用操作
    查看表的字符集语法:showtablestatusfrom库名like表名; mysql8版本查看MYSQL数据库服务器和数据库字符集方法一:showvariableslike'%character%';方法二:showv......
  • simpread-(128 条消息) Three.js 模型隐藏或显示_郭隆邦技术博客的博客 - CSDN 博客_t
    Three.js模型隐藏或显示材质属性.visible查看Three.js文档的基类Material,可以知道材质属性.visible的作用就是控制绑定该材质的模型对象是否可见,默认值是true,LineBasi......
  • MYSQL join..on 后的and 和where的区别
    今天在写SQL语句时发现一个问题selectcount(1)ascountfromsmbms_billbleftjoinsmbms_providerponb.providerId=p.id......