2.数据库三大范式、mysql索引类型、事务的特性和隔离级别
一、数据库的三大范式是什么?
数据库的三大范式用于规范关系型数据库的表结构,提高数据库的规范性和数据的一致性。
- 第一范式:数据库表里面的每个字段都是原子的,不可再分的
- 第二范式:在第一范式的基础上,非主键必须依赖主键
- 第三范式:在第二范式的基础上,非主键列必须和主键直接相关
二、事务的特性和隔离级别
1. 事物的特性
- 原子性:事物的操作要么全部成功要么全部回滚
- 隔离性:事物的执行是相对隔离的,一个事物的执行不能影响另一个事物的执行
- 一致性:事物执行前后,数据库的状态必须保持一致
- 持久性:事物完成后,数据库的修改是永久性的,系统故障数据也不会丢失
2. 隔离级别
- 读未提交 read uncommited
- 读已提交 read commited
- 可重复读 repeatable read
- 串行化 serializable
四、mysql有哪些索引类型,分别有什么作用
- 普通索引:加快系统对数据的访问速度,使用关键字index创建普通索引
- 唯一索引:避免数据重复出现,使用关键字unique创建唯一索引
- 主键索引:是特殊的唯一索引,不得出现空值或重复,使用关键字primarykey创建
- 联合索引:多个单个主键联合组成一个联合主键,使用关键unique_together创建