面试笔记--数据库

#面试笔记

数据库

MySQL处理高并发,防止库存超卖

范式

  • 第一范式:数据库表的每一项都是不可分割的原子数据项,不能是集合。比如班级信息表里面不能有班级的学生。
  • 第二范式:在第一范式的基础上,所有属性完全依赖于主键,完全依赖就是不能取决于主键的一部分
  • 第三范式:在第二范式的基础上,消除传递依赖,比如学生表里有学生属于的班级编号,但不能有班级的名称,班级人数等班级信息,因为班级信息可有由班级编号通过班级表推出来,有传递依赖
    第一范式->第二范式->第三范式
    从左到右数据冗余越来越少,查询越来越复杂
    从右到左有数据冗余,但查询简单

事务

并发控制的单位,是用户定义的一个操作序列,要么全做,要么全不做,是不可分割的。

  1. 原子性
  2. 一致性:使数据库从一个一致性状态到另一个一致性状态
  3. 隔离性:一个事物的执行不被其他事务干扰
  4. 永久性:一个事务一旦提交,它对数据库的改变就是永久性的

数据库索引有几种类型