百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>数据库> 数据库的事务指的有哪些?
分享文章到:

数据库的事务指的有哪些?

发布时间:12/01 来源:未知 浏览: 关键词:

数据库的事务指的是:作为单个逻辑工作单元施行的一系列操纵,要末完全地施行,要末完全地不施行;简便的说,事务就是并发操纵的单位,是会员定义的一个操纵序列。

你用支付宝去去超市买东西,100块钱转给超市,其实这是两步:

  • 第一步,在支付宝数据库中你的账户减去100;

  • 第二步,在超市的支付宝账户上加上100元,交易完成;

但是假如第一步完成了,还没施行第二步的时候,停电了会发生什么呢?

会发生,你的账户减少了100块,超市的账户金额没变,这不就显现问题了,不得打架了吗?

为理解决这个数据一致性问题,数据库事务应运而生。

事务指作为单个逻辑工作单元施行的一系列操纵,要末完全地施行,要末完全地不施行。 简便的说,事务就是并发操纵的单位,是会员定义的一个操纵序列。

它是数据库保护数据一致性的单位,它将数据库从一致状态改变为新的一致状态,说的简便一点就是,假如一组处置步骤要末全部发生要末一步也不施行,我们称该组处置步骤为一个事务。这样就包管了数据始终一致的状态,不至于毁坏数据的完全性、可靠性。一个事务施行今后,DBMS会主动检查数据库中数据的一致性。

事务具有 4 个特性,即原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和耐久性(Durability),这 4 个特性平常简称为 ACID。

1、原子性

事务是一个完全的操纵。事务的各元素是不成分的(原子的)。事务中的所有元素必需作为一个团体提交或回滚。假如事务中的任何元素失败,则整个事务将失败。

以银行转账事务为例,假如该事务提交了,则这两个账户的数据将会更新。假如由于某种缘由,事务在成功更新这两个账户此前终止了,则不会更新这两个账户的余额,并且会撤销对任何账户余额的修改,事务不克不及部分提交。

2、一致性

当事务完成时,数据必需处于一致状态。也就是说,在事务开端此前,数据库中储备的数据处于一致状态。在正在停止的事务中. 数据大概处于不一致的状态,如数据大概有部分被修改。然而,当事务成功完成时,数据必需再次回到已知的一致状态。通过事务对数据所做的修改不克不及破坏数据,或者说事务不克不及使数据储备处于不不乱的状态。

以银行转账事务事务为例。在事务开端此前,所有账户余额的总额处于一致状态。在事务停止的历程中,一个账户余额减少了,而另一个账户余额尚未修改。因此,所有账户余额的总额处于不一致状态。事务完成今后,账户余额的总额再次复原到一致状态。

3、隔离性

对数据停止修改的所有并发事务是彼此隔离的,这表白事务必需是独立的,它不该以任何方式依靠于或影响其他事务。修改数据的事务可以在另一个使用雷同数据的事务开端此前拜访这些数据,或者在另一个使用雷同数据的事务完毕之后拜访这些数据。

别的,当事务修改数据时,假如任何其他进程正在同时使用雷同的数据,则直到该事务成功提交之后,对数据的修改才能生效。张三和李四之间的转账与王五和赵二之间的转账,永久是彼此独立的。

4、耐久性

事务的耐久性指不管系统可否发生了故障,事务处置的结果都是永远的。

一个事务成功完成之后,它对数据库所作的改动是永远性的,即便系统显现故障也是如此。也就是说,一旦事务被提交,事务对数据所做的任何变更都会被永远地保存在数据库中。

事务的 ACID 原则包管了一个事务或者成功提交,或者失败回滚,二者必居其一。因此,它对事务的修改具有可复原性。即当事务失败时,它对数据的修改都会复原到该事务施行前的状态。

以上就是数据库的事务指的是啥?的具体内容,更多请关注百分百源码网其它相关文章!

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有152人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板