事务的特征

1、原子性(Atomicity) 

事务的原子性是指事务中包含的所有操作要么都做,要么都不做,保证数据库是一致的。 

例如:A帐户向B帐户划账1000,则先将A减少1000,再将B增加1000,这两个动作要么都提交,要么都回退,不可能发生一个有效、一个无效的情况。  update  账户表  set  账户表.账户钱数 = 原钱+1000 where 账户表.用户名 = ‘B’
    update  账户表  set  账户表.账户钱数 = 原钱-1000 where 账户表.用户名 = ‘A’
    commit;
2、一致性(Consistency) 

一致性是指数据库在事务操作前和事务处理后,其中的数据必须都满足业务规则约束。 

例如:A、B帐户的总金额在转账前和转帐后必须一致,其中的不一致必须是短暂的,在事务提交前才会出现的。 

再如:约定B帐户不能多于1000元,则A转出1000成功,B转入1000失败,最终由原子性得到——整个事务回滚 


3、隔离性(Isolation) 

隔离性是数据库允许多个并发事务同时对齐数据进行读写和修改的能力,隔离性可以防止多个事务并发执行时由于交叉执行而导致数据的不一致。 

例如:在A、B之间转帐时,C同时向A转帐,若同时进行则A、B之间的一致性不能得到满足。所以在A、B事务执行过程中,其他事务不能访问(修改)当前相关的数值。 


4、持久性(Durability) 

持久性表示为:事务处理结束后,对数据的修改就是永久的,即便系统故障也不会丢失。 

在提交之前如果系统故障,则所有信息全部丢失。提交之后数据存放在磁盘中,是永久性的。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值