安卓技术-数据库事务的4个要素(ACID)

安卓技术-数据库事务的4个要素(ACID),第1张

事务(Transaction)在MySQL的流程:

begin-> *** 作->commit/rollback

隔离性的四个级别:

备注:

脏读:使用了另一个事务未提交的数据。

不可重复读:由于事务并发,同一事务中多次读取某一数据,读到的内容不同。

幻读:一个事务的大范围 *** 作,不能影响到另一个事务刚插入或删除的数据,仿佛 *** 作有例外的幻觉。

一 事务处理介绍

事务是这样一种机制,它确保多个SQL语句被当作单个工作单

元来处理。事务具有以下的作用:

一致性:同时进行的查询和更新彼此不会发生冲突,其他

用户不会看到发生了变化但尚未提交的数据。

可恢复性:一旦系统故障,数据库会自动地完全恢复未完

成的事务。

二 事务与一致性

事务是完整性的单位,一个事务的执行是把数据库从一个一

致的状态转换成另一个一致的状态。因此,如果事务孤立执行时

是正确的,但如果多个事务并发交错地执行,就可能相互干扰,

造成数据库状态的不一致。在多用户环境中,数据库必须避免同

时进行的查询和更新发生冲突。这一点是很重要的,如果正在被

处理的数据能够在该处理正在运行时被另一用户的修改所改变,

那么该处理结果是不明确的。

当数据库需要处理 *** 作量大、复杂度高的数据的时候需要用到事务。用事务是为了保证数据库的完整性,保证成批的SQL语句要么全部执行,要么全部不执行。

一个数据库事务通常包含了一个序列的对数据库的读/写 *** 作。它的存在包含有以下两个目的:

1、为数据库 *** 作序列提供了一个从失败中恢复到正常状态的方法,同时提供了数据库即使在异常状态下仍能保持一致性的方法。

2、当多个应用程序在并发访问数据库时,可以在这些应用程序之间提供一个隔离方法,以防止彼此的 *** 作互相干扰。

当事务被提交给了数据库管理系统,则数据库管理系统需要确保该事务中的所有 *** 作都成功完成且其结果被永久保存在数据库中,如果事务中有的 *** 作没有成功完成,则事务中的所有 *** 作都需要被回滚,回到事务执行前的状态;同时,该事务对数据库或者其他事务的执行无影响,所有的事务都好像在独立的运行。

扩展资料:

数据库事务ACID性质:

1、原子性(Atomicity):事务作为一个整体被执行,包含在其中的对数据库的 *** 作要么全部被执行,要么都不执行。

2、一致性(Consistency):事务应确保数据库的状态从一个一致状态转变为另一个一致状态,一致状态的含义是数据库中的数据应满足完整性约束。

3、隔离性(Isolation):多个事务并发执行时,一个事务的执行不应影响其他事务的执行。

4、持久性(Durability):已被提交的事务对数据库的修改应该永久保存在数据库中。

参考资料来源:

百度百科-数据库事务

百度百科-数据库

原因是SQL服务器已配置为在 " Windows 身份验证模式 (Windows 身份验证) " *** 作和不允许使用 SQL 帐户。

设置允许SQL Server 身份登录 *** 作步骤:

第一步:在“Microsoft SQL Server Management Stdio”中,展开"SQL Server组",鼠标右键点击SQL Server 服务器的名称。

第二步:选择"属性"

第三步:再选择"安全性"选项卡

第四步:在"身份验证"下,选择"SQL Server 和Windows 身份验证模式"

第五步:确定,并重新启动SQL Server 服务。

简单来说就是 单一的逻辑单元处理一系列事物。 *** 作一系列数据时,如有一条不合适或取消,所有数据均会到最初状态,即回滚。\x0d\说的比较抽象,我给你举个小例子你就明白了。\x0d\例如 ATM 机。\x0d\用户把钱从一个银行账号转账至另一个银行账号,这种 *** 作不能被部分完成。\x0d\如转的过程中 1卡钱被相应扣除,2卡在存中,这时机器出现故障,转账被取消。取消的同时,即要事物回滚,回到1卡原有的状态。\x0d\明白了吗

事务是作为一个逻辑单元执行的一系列 *** 作,一个逻辑工作单元必须有四个属性,称为 ACID(原子性、一致性、隔离性和持久性)属性,\x0d\ 只有这样才能成为一个事务:\x0d\原子性\x0d\事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。\x0d\\x0d\一致性\x0d\事务在完成时,必须使所有的数据都保持一致状态。在相关数据库中,所有规则都必须应用于事务的修改,以保持所有数据的完整性。\x0d\ 事务结束时,所有的内部数据结构(如 B 树索引或双向链表)都必须是正确的。\x0d\\x0d\隔离性\x0d\由并发事务所作的修改必须与任何其它并发事务所作的修改隔离。事务查看数据时数据所处的状态,要么是另一并发事务修改它之前的状态,\x0d\ 要么是另一事务修改它之后的状态,事务不会查看中间状态的数据。这称为可串行性,因为它能够重新装载起始数据,\x0d\ 并且重播一系列事务,以使数据结束时的状态与原始事务执行的状态相同。\x0d\持久性\x0d\事务完成之后,它对于系统的影响是永久性的。该修改即使出现系统故障也将一直保持。

数据库事务(简称:事务)是数据库管理系统执行过程中的一个逻辑单位,由一个有限的数据库 *** 作序列构成。

一个数据库事务通常包含了一个序列的对数据库的读/写 *** 作。它的存在包含有以下两个目的:

为数据库 *** 作序列提供了一个从失败中恢复到正常状态的方法,同时提供了数据库即使在异常状态下仍能保持一致性的方法。

当多个应用程序在并发访问数据库时,可以在这些应用程序之间提供一个隔离方法,以防止彼此的 *** 作互相干扰。

当事务被提交给了DBMS(数据库管理系统),则DBMS(数据库管理系统)需要确保该事务中的所有 *** 作都成功完成且其结果被永久保存在数据库中,如果事务中有的 *** 作没有成功完成,则事务中的所有 *** 作都需要被回滚,回到事务执行前的状态;同时,该事务对数据库或者其他事务的执行无影响,所有的事务都好像在独立的运行。

但在现实情况下,失败的风险很高。在一个数据库事务的执行过程中,有可能会遇上事务 *** 作失败、数据库系统/ *** 作系统失败,甚至是存储介质失败等情况。这便需要DBMS对一个执行失败的事务执行恢复 *** 作,将其数据库状态恢复到一致状态(数据的一致性得到保证的状态)。为了实现将数据库状态恢复到一致状态的功能,DBMS通常需要维护事务日志以追踪事务中所有影响数据库数据的 *** 作。

以上就是关于安卓技术-数据库事务的4个要素(ACID)全部的内容,包括:安卓技术-数据库事务的4个要素(ACID)、怎样使用数据库事务处理、数据库 *** 作的时候,什么情况下需要用到事务等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存