Chapter 2 事务(transaction) 为什么需要事务? 概念 事务(Transaction)是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位 事务是恢复和并发控制的基本单位 事务的ACID特性(1) 原子性(Atomicity):事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都不做。 一致性(Consistency):事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态 事务的ACID特性(2) 隔离性(Isolation):对并发执行而言,一个事务的执行不能被其他事务干扰 一个事务内部的操作及使用的数据对其它并发事务是隔离的 并发执行的各个事务之间不能互相干扰 持续性(Durability )/永久性(Permanence) 一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。 接下来的其他操作或故障不应该对其执行结果有任何影响。 一致性 学生数据库 IC0:学号唯一 IC1:每门课有先修课,学生必须先完成先修课才能选当前课 IC2:每门课有最高限选人数 …… DBMS要保证事务的执行没有违反任何约束 原子性 银行转帐:从帐号A中取出一万元,存入帐号B。 定义一个事务,该事务包括两个操作 这两个操作要么全做,要么全不做 全做或者全不做,数据库都处于一致性状态。 如果只做一个操作,数据
原创力文档

文档评论(0)