欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 创投人物 > 事务基础概念

事务基础概念

2025/5/30 10:48:52 来源:https://blog.csdn.net/2403_89838185/article/details/148198178  浏览:    关键词:事务基础概念

事务

事务是什么?

事务是一种机制,一个操作序列,包含了一组数据库操作命令,并且把所有命令作为一个整体一起向系统提交或者撤销操作请求,即统一这组命令要么一起执行,要么一起不执行

简短概况就是:事务即是一组命令序列,他们要么一起执行;要么一起不执行;从而保证了数据的完整性和统一性。

事务的特性

acid特性:原子性,一致性,隔离性,持久性

原子性atomicity

事务是一个不可分割的整体,事务中的所有操作要么一起执行,要么一起不执行。而事务中只要有一个操作不成功,那么整个事务都将会被回滚。 ​ 案例:a向b转账1000元,当只执行了扣款语句时断电了,a账号发生了扣款,b账号却没有收到打款。此时事务的原子性就会来保证事务要么都执行,要么都不执行了。 ​

一致性cinsustency

事务开始前和事务执行结束后,数据库的完整性约束没有被破坏。
即事务开始前,数据库的数据处于一致状态;事务完成时,数据也必须处于一致状态。当事务运行时,数据可能会处于不一致的状态,但当事务完成时,数据必须回到一致状态。

案例:
对银行转账事务,不管事务成功与否,都应该再事务结束后保持前后二者存款总额与事务执行前一致

当多个用户对同一个表进行操作时,可能会出现以下一致性问题:
1脏读
a修改了这条数据但未提交后,此时b却可以看到a这条未提交的修改记录。--脏读

2不可重复读
a在一个事务c内,反复读取同一个数据时。在这个事务还没有结束时,b在另一个事务d中也访问了这个数据。那么,再第一个事务c中读到数次的数据,可能由于第二个事务d的修改,导致第一个事务c读到的数据前后不一致。--不可重复读

3幻读
一个事务对表中的所有数据进行了修改;同时,另一个事务向这个表添加了数据,操作第一个事务的用户会发现:表中还有一行数据没有被修改,像中了幻觉一样。--幻读

4丢失更新
两个事务同时读取同一条记录,a先修改记录,b也修改记录;当b提交后,那么a修改的结果会被b修改的结果覆盖。--丢失更新

隔离性

隔离性确保并发执行事务的状态保存与顺序执行事务时的状态相同

持久性

事务完成后,该事务对数据库所做的更改会持久的保存在数据库中,并且不会被回滚;
即不够系统是否发生故障,事务处理的结果都是永久的。一旦事务被提交,那么事务的效果将会永久的保存在数据库中。

总结

事务管理中,原子性是基础,隔离性是手段,一致性是目的,持久性是结果。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词