数据库事务正确执行的四个基本要素包括

数据库事务正确执行的四个基本要素包括,第1张

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

原子性

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

一致性

一个事务可以封装状态改变(除非它是一个只读的)。事务必须始终保持系统处于一致的状态,不管在任何给定的时间并发事务有多少。

也就是说:如果事务是并发多个,系统也必须如同串行事务一样 *** 作。其主要特征是保护性和不变性(Preserving an Invariant),以转账案例为例,假设有五个账户,每个账户余额是100元,那么五个账户总额是500元,如果在这个5个账户之间同时发生多个转账,无论并发多少个,比如在A与B账户之间转账5元,在C与D账户之间转账10元,在B与E之间转账15元,五个账户总额也应该还是500元,这就是保护性和不变性

隔离性

隔离状态执行事务,使它们好像是系统在给定时间内执行的唯一 *** 作。如果有两个事务,运行在相同的时间内,执行相同的功能,事务的隔离性将确保每一事务在系统中认为只有该事务在使用系统。这种属性有时称为串行化,为了防止事务 *** 作间的混淆,必须串行化或序列化请求,使得在同一时间仅有一个请求用于同一数据。

持久性

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

由于一项 *** 作通常会包含许多子 *** 作,而这些子 *** 作可能会因为硬件的损坏或其他因素产生问题,要正确实现ACID并不容易。ACID建议数据库将所有需要更新以及修改的资料一次 *** 作完毕,但实际上并不可行。

目前主要有两种方式实现ACID:第一种是Write ahead logging,也就是日志式的方式(现代数据库均基于这种方式)。第二种是Shadow paging。

使用登录数据库

"use <database name>"

2 创建事务日志表

3 向表中插入一条记录

4 查询表内数据

"

5 删除无用的数据

"

事务概念: 什么是事务呢?事务是并发控制的单位,是用户定义的一个 *** 作序列。有四个特性(ACID):

原子性(Atomicity): 事务是数据库的逻辑工作单位,事务中包括的诸 *** 作要么全做,要么全不做。

一致性(Consistency): 事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。

隔离性(Isolation): 一个事务的执行不能被其他事务干扰。

持续性/永久性(Durability): 一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。

以上是书面解释,简单来说就是把你的 *** 作统一化,要么所有 *** 作都成功,要么就都不成功,如果执行中有某一项 *** 作失败,其之前所有的 *** 作都回滚到未执行这一系列 *** 作之前的状态。

(1):事务(Transaction)是并发控制的单位,是用户定义的一个 *** 作序列。这些 *** 作要么都做,要么都不做,是一个不可分割的工作单位。通过事务,SQL

Server能将逻辑相关的一组 *** 作绑定在一起,以便服务器保持数据的完整性。

(2):事务通常是以BEGIN

TRANSACTION开始,以COMMIT或ROLLBACK结束。

COMMIT表示提交,即提交事务的所有 *** 作。具体地说就是将事务中所有对数据库的更新写回到磁盘上的物理数据库中去,事务正常结束。

ROLLBACK表示回滚,即在事务运行的过程中发生了某种故障,事务不能继续进行,系统将事务中对数据库的所有以完成的 *** 作全部撤消,滚回到事务开始的状态。

(3):事务运行的三种模式:

A:自动提交事务

每条单独的语句都是一个事务。每个语句后都隐含一个COMMIT。

B:显式事务

以BEGIN

TRANSACTION显式开始,以COMMIT或ROLLBACK显式结束。

C:隐性事务

在前一个事务完成时,新事务隐式启动,但每个事务仍以COMMIT或ROLLBACK显式结束。

(4):事务的特性(ACID特性)

A:原子性(Atomicity)

事务是数据库的逻辑工作单位,事务中包括的诸 *** 作要么全做,要么全不做。

B:一致性(Consistency)

事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。

C:隔离性(Isolation)

一个事务的执行不能被其他事务干扰。

D:持续性/永久性(Durability)

一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。

注:事务是恢复和并发控制的基本单位。

事务管理对于一系列数据库 *** 作进行管理。

一个事务包含一个或多个SQL语句,是逻辑管理的工作单元(原子单元)。

一个事务开始于第一次执行的SQL语句,结束于Commit

Rollback

DDL语句。

注意:其中Commit,

Rollback是显示的提交事务,而DDL语句是隐式的提交事务的。DDL语句的 *** 作是没有办法回滚的。

事务处理(TRANSACTION)是由一个或多个SQL语句序列结合在一起所形成的一个逻辑处理单元。事务处理中的每个语句都是完成整个任务的一部分工作,所有的语句组织在一起能够完成某一特定的任务。DBMS在对事务处理中的语句进行处理时,是按照下面的约定来进行的,这就是“事务处理中的所有语句被作为一个原子工作单位,所有的语句既可成功地被执行,也可以没有任何一个语句被执行”。DBMS负责完成这种约定,即使在事务处理中应用程序异常退出,或者是硬件出现故障等各种意外情况下,也是如此。在任何意外情况下,DBMS都负责确保在系统恢复正常后,数据库内容决不会出现“部分事务处理中的语句被执行完”的情况。

以上就是关于数据库事务正确执行的四个基本要素包括全部的内容,包括:数据库事务正确执行的四个基本要素包括、在数据库中添加事务日志文件命令是、事务是什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/sjk/9324428.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存