事务:将这些有内在联系的操作当作一个逻辑单元处理,并采取相应策略保证一个逻辑单元内的全部操作要么都执行成功,要么都不执行。
对数据库用户而言,只需将具有完整逻辑意义的一组操作正确地定义在一个事务之内即可。
对于数据库管理系统而言,事务则是一个读写操作序列。事务是数据库管理系统中竞争资源,并发控制和恢复的基本单元。
事务结束的2中类型:
- 事务提交:将成功完成事务的执行结果永久化,并释放事务占有的全部资源;
- 事务回滚:中止当前事务,撤销其对数据库所做的更新,并释放事务占有的全部资源。
事务特性:
- 原子性;
- 一致性;
- 隔离性;
- 持久性。
事务并发执行可能出现的问题:
- 读脏数据:读未提交且被撤销的数据;
- 丢失更新:两个或多个事务都读取了同一数据值并修改;
- 不可重复读:读取的结果前后不一致。
死锁的解决办法:
- 死锁预防;
- 死锁的检测与解除。