数据库面试
一、数据库三范式
第一范式(1NF)是指数据库表的第一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。列数据的不可分割。
第二范式(2NF)要求数据库表中的每个行必须可以被唯一地区分。为实现区分通常需要为表加上一个列,一存储各个实例的唯一标识。(主键)
第三范式(3NF)要求一个数据库表中不包含已在它表中已包含的非主关键字信息。(外键)
反三范式,有的时候为了效率,可以设置重复的字段,点单(总价)和订单项(单价)
二、事务
事务是并发控制的单位,是用户定义的一个操作序列。这些操作要么都做,要么都不做,是一个不可分割的工作单位。(转账)
事务必须满足四大特征:
原子性:事务内操作不可分割
一致性:要么都成功,要么都是失败,后面的失败了,要对前面的操作进行回滚。
隔离性:一个事务开始后,不能受其他事务干扰
持久性/持续性:表示事务开始了,就不能终止
三、mysql的分页?Oracle的分页?
四、数据库触发器的使用场景
触发器,需要有出发条件,当条件满足以后做什么操作。