数据库编程
事务概述、ACID
课程目标
了解 —— 事务的概念;
理解 —— 事务的属性ACID;
事务概述
在MySQL环境中,事务由作为一个单独单元的一个或多个SQL语句组成。这个单元中的每个SQL语句是互相依赖的,而且单元作为一个整体是不可分割的。如果单元中的一个语句不能完成,整个单元就会回滚(撤销),所有影响到的数据将返回到事务开始以前的状态。因而,只有事务中的所有语句都成功地执行才能说这个事务被成功地执行。
ACID属性
术语“ACID”是一个简称,每个事务的处理必须满足ACID原则,
即原子性(A)、一致性(C)、隔离性(I)和持久性(D)。
原子性
原子性意味着每个事务都必须被认为是一个不可分割的单元。假设一个事务由两个或者多个任务组成,其中的语句必须同时成功才能认为事务是成功的。如果事务失败,系统将会返回到事务以前的状态。
ACID属性
一致性
不管事务是完全成功完成还是中途失败,当事务使系统处于一致的状态时存在一致性。
隔离性
隔离性是指每个事务在它自己的空间发生,和其他发生在系统中的事务隔离,而且事务的结果只有在它完全被执行时才能看到。即使在这样的一个系统中同时发