一、什么是事务
事务(Transaction)是并发控制单位,是用户定义的一个操作序列,这些操作要么都做,要么都不做,是一个不可分割的工作单位。事务的正确执行使得数据库从一种状态转换为另一种状态。
二、事务的特征
ACBD,是指在可靠数据库管理系统(DBMS)中,事务(transaction)所应该具有的四个特性:原子性、一致性、隔离性、持久性。
1、原子性(Atomicity)
原子性是指事务是一个不可再分割的工作单位,事务中的操作要么都发生,要么都不发生。
2、一致性(Consistency)
一致性是指在事务开始之前和事务结束以后,数据库的完整性约束没有被破坏。
数据库事务不能破坏关系数据库的完整性以及业务逻辑上的一致性。
3、隔离性(Isolation)
多个事务并发访问时,事务之间是隔离的,一个事务不应该影响其他事务运行结果。
在并发环境中,当不同的事务同时操纵相同的数据时,每个事务都有各自的完整数据空间,由并发事务所做的修改必须与任何其他事务所做的修改隔离。
事务查看数据更新时,数据所处的状态要么是另一事务修改它之前的状态,要么是另一事务修改它之后的状态,事务不会查看到中间状态的数据。
4、持久性(Durability)
持久性,意味着在事务完成以后,该事务对数据库所做的更改会持久的保存在数据库中,并不会被回滚。
即使出现任何事故(比如断电等),事务一旦提交,则持久化保存在数据库中。