数据库事务四大特性是什么

数据库事务四大特性是什么,第1张

1、原子性(Atomicity)

原子性是指事务包含的所有 *** 作要么全部成功,要么全部失败回滚,因此事务的 *** 作如果成功就必须要完全应用到数据库,如果 *** 作失败则不能对数据库有任何影响。

2、 一致性(Consistency)

一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执行之前和执行之后都必须处于一致性状态。

拿转账来说,假设用户A和用户B两者的钱加起来一共是5000,那么不管A和B之间如何转账,转几次账,事务结束后两个用户的钱相加起来应该还得是5000,这就是事务的一致性。

3、隔离性(Isolation)

隔离性是当多个用户并发访问数据库时,比如 *** 作同一张表时,数据库为每一个用户开启的事务,不能被其他事务的 *** 作所干扰,多个并发事务之间要相互隔离。

即要达到这么一种效果:对于任意两个并发的事务T1和T2,在事务T1看来,T2要么在T1开始之前就已经结束,要么在T1结束之后才开始,这样每个事务都感觉不到有其他事务在并发地执行。 

4、持久性(Durability)

持久性是指一个事务一旦被提交了,那么对数据库中的数据的改变就是永久性的,即便是在数据库系统遇到故障的情况下也不会丢失提交事务的 *** 作。

扩展资料

在数据库中,关于读数据的概念:

1、脏读(Dirty Reads):所谓脏读就是对脏数据(Drity Data)的读取,而脏数据所指的就是未提交的数据。也就是说,一个事务正在对一条记录做修改,在这个事务完成并提交之前,这条数据是处于待定状态的(可能提交也可能回滚)。

这时,第二个事务来读取这条没有提交的数据,并据此做进一步的处理,就会产生未提交的数据依赖关系。这种现象被称为脏读。

2、不可重复读(Non-Repeatable Reads):一个事务先后读取同一条记录,但两次读取的数据不同,我们称之为不可重复读。也就是说,这个事务在两次读取之间该数据被其它事务所修改。

3、幻读(Phantom Reads):一个事务按相同的查询条件重新读取以前检索过的数据,却发现其他事务插入了满足其查询条件的新数据,这种现象就称为幻读。

参考资料:

百度百科-数据库事务

简单来说就是 单一的逻辑单元处理一系列事物。 *** 作一系列数据时,如有一条不合适或取消,所有数据均会到最初状态,即回滚。

说的比较抽象,我给你举个小例子你就明白了。

例如 ATM 机。

用户把钱从一个银行账号转账至另一个银行账号,这种 *** 作不能被部分完成。

如转的过程中 1卡钱被相应扣除,2卡在存中,这时机器出现故障,转账被取消。取消的同时,即要事物回滚,回到1卡原有的状态。

明白了吗

ACID,指数据库事务正确执行的四个基本要素的缩写包含:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。一个支持事务(Transaction)的数据库系统,必需要具有这四种特性,否则在事务过程(Transactionprocessing)当中无法保证数据的正确性,交易过程极可能达不到交易方的要求

原子性

整个事务中的所有 *** 作,要么全部完成,要么全部不完成,不可能停滞在中间某个环节。事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样。

一致性

在事务开始之前和事务结束以后,数据库的完整性约束没有被破坏。

隔离性

两个事务的执行是互不干扰的,一个事务不可能看到其他事务运行时,中间某一时刻的数据。

持久性

在事务完成以后,该事务所对数据库所作的更改便持久的保存在数据库之中,并不会被回滚。

事务:是用户定义的一个数据库 *** 作序列,这些 *** 作要么都做,要么都不做,是一个不可分割的工作单位。

在关系数据库中,一个事务可以是一条SQL语句,也可以是多条SQL语句。

特点:

原子性、一致性、隔离性、持续性

举个例子

假设,定义了一个银行转账的事务,以两个银行账号里面的金钱为例,里面的钱要么一个增加多少,一个减少多少,要么就是都不增不减,不可能一个多但另一个不减少,你懂得。。。。

希望可以帮你o(∩_∩)o

数据库事务是构成单一逻辑工作单元的 *** 作集合。

举例:转账是生活中常见的 *** 作,比如从A账户转账100元到B账号。站在用户角度而言,这是一个逻辑上的单一 *** 作,然而在数据库系统中,至少会分成两个步骤来完成:

1、将A账户的金额减少100元

2、将B账户的金额增加100元。

与程序的区别:一个程序中包含多个事务。在关系数据库中,一个事务可以是一条SQL语句,一组SQL语句或整个程序。

扩展资料:

事务必须具备四个属性,简称ACID属性:

1、原子性(Atomicity):事务是一个完整的 *** 作。事务的各步 *** 作是不可分的(原子的);要么都执行,要么都不执行。

2、一致性(Consistency):当事务完成时,数据必须处于一致状态。

3、隔离性(Isolation):对数据进行修改的所有并发事务是彼此隔离的,这表明事务必须是独立的,它不应以任何方式依赖于或影响其他事务。

4、永久性(Durability):事务完成后,它对数据库的修改被永久保持,事务日志能够保持事务的永久性。

参考资料来源:百度百科-事务

以上就是关于数据库事务四大特性是什么全部的内容,包括:数据库事务四大特性是什么、在数据库中什么叫做事务处理、数据库事务级别等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9503767.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存