数据库中的事务

原文:http://blog.csdn.net/zdplife/article/details/48032141

(1)定义:

事务(Transaction)是并发控制的基本单位。所谓的事务,它是一个操作序列,这些 操作要么都执行,要么都不执行,它是一个不可分割的工作单位。所以,事务是数据库 维护数据一致性的单位,在每个事务结束时,都能保持数据一致性。

(2)事务是DBMS的基本单位,是构成单一逻辑工作单元的操作集合

(3)事务的四个基本特征:

① Atomic(原子性):事务中包含的操作被看做一个逻辑单元,这个逻辑单元中的操 作要么全部成功,要么全部失败。

② Consistency(一致性):事务完成时,数据必须处于一致状态,数据的完整性约束没有被破坏,事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样。

③ Isolation(隔离性):事务允许多个用户对同一个数据进行并发访问,而不破坏数据 的正确性和完整性。同时,并行事务的修改必须与其他并行事务的修改相互独立。

④ Durability(持久性):事务结束后,事务处理的结果必须能够得到固化。

(4)事务的SQL操作语句:

① 开始事务:begin TRANSACTION;

② 提交事务:commit TRANSACTION;

③ 回滚事务:rollback TRANSACTION;

(5)事务的并发问题:

一个数据库可能拥有多个访问客户端,这些客户端都可以并发方式访问数据库。数据库中的相同数据可能同时被多个事务访问,如果没有采取必要的隔离措施,就会导致各种并发问题,破坏数据的完整性。这些问题可以归结为5类,包括3类数据读问题(脏读、幻象读和不可重复读)以及2类数据更新问题(第一类丢失更新和第二类丢失更新)。

① 脏读:A事务读取B事务尚未提交的更改数据

② 不可重复读:A事务读取了B事务已经提交的数据,导致两次读不一致

③ 幻想读:A事务读取了B事务新增的数据,幻象读和不可重复读是两个容易混淆 的概念,前者是指读到了其它已经提交事务的新增数据,而后者是指读到了已经提交事 务的更改数据(更改或删除)

④ 第一类丢失更新:A事务撤销时,把已经提交的B事务的更新数据覆盖了

⑤ 第二类丢失更新:A事务提交时覆盖了B事务提交的数据

(6)事务日志

            事务日志主要用于记录对事务的更新操作,包括增加,删除,修改

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值