事务:事务由一组DML(数据操纵语言)语句组成,这些语句在逻辑上存在相关性;这一组DML语句要么全部成功,要么全部失败,是一个整体。
事务的ACID特性:
(1)原子性(Atomicity)
事务是应用中最小的执行单位,就如原子是自然界的最小颗粒,具有不可再分的特征一样,事务是应用中不可再分的最小逻辑执行体。
(2)一致性(Consistency)
事务执行的结果,必须使数据库从一个一致性状态,变到另一个一致性状态。当数据库只包含事务成功提交的结果时,数据库处于一致性状态。如果系统运行发生中断,某个事务尚未完成而被迫中断,而改未完成的事务对数据库所做的修改已被写入数据库,此时数据库就处于一种不正确(不一致)的状态。因此一致性是通过原子性来保证的。
(3)隔离性(Isolation)
各个事务的执行互不干扰,任意一个事务的内部操作对其他并发事务都是隔离的。也就是说,并发执行的事务之间不能看到对方的中间状态,并发执行的事务之间不能互相影响。
(4)持久性(Durability)
持久性是指一个事务一旦被提交,它对数据库所做的改变都要记录到永久存储其中。