事务
1.事务管理
- 事务是访问并可能更新各种数据项的一个程序执行单元
- 这些操作要么都做,要么不做,是一个不可分割的工作单位
- 事务具有ACID性
原子性(ATOMICITY):事务中包含所要操作要么全做,要么全不做,原子性由恢复系统实现
一致性(consistency):事务的隔离执行必须保证数据的一致性,事务开始之前,数据库处于一致性的状态;事务结束后,数据库必须处于一致性转移;事务执行过程中可以暂时的不一致性,一致性有并发控制系统实现。
隔离性(isolation):系统必须保证事务不受其他并发执行事务的影响。对任何一对事务T1、T2,在T1看来,T2要么在T1开始之前已经结束,要么在T1完成之后在开始执行,隔离性通过并发控制系统实现(不可交叉执行)
持久性(durability):一个事务一旦提交之后,它对数据库的影响必须是永久的,系统发生故障不能改变事务的持久性。持久性通过恢复系统实现
2.事务命令
- commit(提交)
commit命令用于把事务所做的修改保存到数据库,它把上一个commit或rollback命令之后的全部事务保存到数据库 - rollback(回滚)
撤销在上一次执行commit或者rollback命令之后执行的所有DML操作
commit和rollback的共同之处在于都能够结束事务,释放事务占用的资源,包括:封锁、内存等资源。不同之处在于他