首页 > 数据库技术 > 详细

数据库相关:何种情况下会使用事务

时间:2019-07-06 17:35:14      阅读:100      评论:0      收藏:0      [点我收藏+]
事务具有以下属性:
1. 原子性:一个事务要被完全性的无二义性的做完或者撤销,在任何一个操作出现错误的情况下,构成事务所有操作所造成的效果都必须被撤销,数据应该被回滚到以前的状态。
2. 一致性:一个事务应该保护所有定义在数据上的不变的属性(例如完整性约束)。在完成了一个成功的事务时,数据应处于一致的状态。换句话说,一个事务应该把系统从一个一致-状态转换到另一个一致状态。举个例子,在关系数据库的情况下, 
一个一致的事务将保护定义在数据上的所有完整性约束。 
 
3. 隔离性:在同一个环境中可能有多个事务并发执行,而每个事务都应表现为独立执行。串行的执行一系列事务的效果应该同于并发的执行它们。这要求两件事: 

在一个事务执行过程中,数据的中间的(可能不一致)状态不应该被暴露给所有的其他事务。 
两个并发的事务应该不能操作同一项数据。数据库管理系统通常使用锁来实现这个特征。
4. 持久性:事务造成的改动是持久的
 
简单来说,事务一旦开始执行,只有两条路径,一是完整的正确的执行下去,二是在某一步骤出现错误,就回滚到未执行此事务的状态。
 
什么时候会用到事务呢?在执行一系列数据库操作时,要保证这些操作必须完全正确执行,否则就不执行,在这种情况下,适合使用事务,例如将一些数据插入到两个相关联的表中,而且不能只有一张表插入成功,这种情况下,使用事务,无论是否插入成功,都不会对数据库造成不好的影响。
 
 

<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">





数据库相关:何种情况下会使用事务

原文:https://www.cnblogs.com/xdblog/p/11143081.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!