1楼:百度网友
事务是作为一个逻辑单元执行的一系列操作,一个逻辑工作单元必须有四个属性,称为 acid(原子性、一致性、隔离性和持久性)属性,
只有这样才能成为一个事务:
原子性事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。
一致性事务在完成时,必须使所有的数据都保持一致状态。在相关数据库中,所有规则都必须应用于事务的修改,以保持所有数据的完整性。
事务结束时,所有的内部数据结构(如 b 树索引或双向链表)都必须是正确的。
隔离性由并发事务所作的修改必须与任何其它并发事务所作的修改隔离。事务查看数据时数据所处的状态,要么是另一并发事务修改它之前的状态,
要么是另一事务修改它之后的状态,事务不会查看中间状态的数据。这称为可串行性,因为它能够重新装载起始数据,
并且重播一系列事务,以使数据结束时的状态与原始事务执行的状态相同。
持久性事务完成之后,它对于系统的影响是永久性的。该修改即使出现系统故障也将一直保持。
2楼:匿名用户
数据库事务(database transaction),事务是一系列作为一个逻辑单元来执行的操作集合。它是数据库维护数据一致性的单位,它将数据库从一致状态转变为新的一致状态,指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行。 事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源。
事务是数据库运行中的逻辑工作单位,由dbms中的事务管理子系统负责事务的处理。
数据库(database)是按照数据结构来组织、存储和管理数据的建立在计算机存储设备上的仓库。
数据库的基本结构分三个层次,反映了观察数据库的三种不同角度。
⑴ 物理数据层。
它是数据库的最内层,是物理存贮设备上实际存储的数据的集合。这些数据是原始数据,是用户加工的对象,由内部模式描述的指令操作处理的位串、字符和字组成。
⑵ 概念数据层。
它是数据库的中间一层,是数据库的整体逻辑表示。指出了每个数据的逻辑定义及数据间的逻辑联系,是存贮记录的集合。它所涉及的是数据库所有对象的逻辑关系,而不是它们的物理情况,是数据库管理员概念下的数据库。
⑶ 用户数据层。
它是用户所看到和使用的数据库,表示了一个或一些特定用户使用的数据集合,即逻辑记录的集合。
参考资料
数据库中什么叫事务?其特点是什么
3楼:梦中梦
【事务】:是用户定义的一个数据库操作序列,这些操作要么都做,要么都不做,是一个不可分割的工作单位。
在关系数据库中,一个事务可以是一条sql语句,也可以是多条sql语句。
【特点】:
原子性、一致性、隔离性、持续性
【举个例子】
假设,定义了一个银行转账的事务,以两个银行账号里面的金钱为例,里面的钱要么一个增加多少,一个减少多少,要么就是都不增不减,不可能一个多但另一个不减少,你懂得。。。。
希望可以帮你o(∩_∩)o
数据库中的事务是什么?
4楼:匿名用户
事物的定义:
数据库事务(database transaction) ,是指作为单个逻辑工作单元执行的一系列操作,要么完整地执行,要么完全地不执行。 事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源。通过将一组相关操作组合为一个要么全部成功要么全部失败的单元,可以简化错误恢复并使应用程序更加可靠。
一个逻辑工作单元要成为事务,必须满足所谓的acid(原子性、一致性、隔离性和持久性)属性。
**********==
简单说事务就是一组操作的集合,而且这组操作必须全部执行成功否者回滚到所有操作前的状态。
举个例子什么时候用到事务:
例如,在将资金从一个帐户转移到另一个帐户的银行应用中,一个帐户将一定的金额贷记到一个数据库表中,同时另一个帐户将相同的金额借记到另一个数据库表中。由于计算机可能会因停电、网络中断等而出现故障,因此有可能更新了一个表中的行,但没有更新另一个表中的行。如果数据库支持事务,则可以将数据库操作组成一个事务,以防止因这些事件而使数据库出现不一致。
如果事务中的某个点发生故障,则所有更新都可以回滚到事务开始之前的状态。如果没有发生故障,则通过以完成状态提交事务来完成更新。
数据库事务四大特性是什么?
5楼:狼道刀
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):一个事务按相同的查询条件重新读取以前检索过的数据,却发现其他事务插入了满足其查询条件的新数据,这种现象就称为幻读。
6楼:等待的角落
事务的:原子性、一致性、分离性、持久性
原子性、一致性、分离性、持久性
(1) 原子性
事务的原子性指的是,事务中包含的程序作为数据库的逻辑工作单位,它所做的对数据修改操作要么全部执行,要么完全不执行。这种特性称为原子性。
事务的原子性要求,如果把一个事务可看作是一个程序,它要么完整的被执行,要么完全不执行。就是说事务的操纵序列或者完全应用到数据库或者完全不影响数据库。这种特性称为原子性。
假如用户在一个事务内完成了对数据库的更新,这时所有的更新对外部世界必须是可见的,或者完全没有更新。前者称事务已提交,后者称事务撤消(或流产)。dbms必须确保由成功提交的事务完成的所有操纵在数据库内有完全的反映,而失败的事务对数据库完全没有影响。
(2) 一致性
事务的一致性指的是在一个事务执行之前和执行之后数据库都必须处于一致性状态。这种特性称为事务的一致性。假如数据库的状态满足所有的完整性约束,就说该数据库是一致的。
一致性处理数据库中对所有语义约束的保护。假如数据库的状态满足所有的完整性约束,就说该数据库是一致的。例如,当数据库处于一致性状态s1时,对数据库执行一个事务,在事务执行期间假定数据库的状态是不一致的,当事务执行结束时,数据库处在一致性状态s2。
(3) 分离性
分离性指并发的事务是相互隔离的。即一个事务内部的操作及正在操作的数据必须封锁起来,不被其它企图进行修改的事务看到。
分离性是dbms针对并发事务间的冲突提供的安全保证。dbms可以通过加锁在并发执行的事务间提供不同级别的分离。假如并发交叉执行的事务没有任何控制,操纵相同的共享对象的多个并发事务的执行可能引起异常情况。
dbms可以在并发执行的事务间提供不同级别的分离。分离的级别和并发事务的吞吐量之间存在反比关系。较多事务的可分离性可能会带来较高的冲突和较多的事务流产。
流产的事务要消耗资源,这些资源必须要重新被访问。因此,确保高分离级别的dbms需要更多的开销。
(4)持久性
持久性意味着当系统或介质发生故障时,确保已提交事务的更新不能丢失。即一旦一个事务提交,dbms保证它对数据库中数据的改变应该是永久性的,耐得住任何系统故障。持久性通过数据库备份和恢复来保证。
持久性意味着当系统或介质发生故障时,确保已提交事务的更新不能丢失。即对已提交事务的更新能恢复。一旦一个事务被提交,dbms必须保证提供适当的冗余,使其耐得住系统的故障。
所以,持久性主要在于dbms的恢复性能。
编程中什么叫数据库?有什么作用,编程 数据库各是什么意思
1楼 匿名用户 金融数据分析与数据库密不可分,那么什么是数据库呢?在大学的计算机教科书中,数据库是被这样解释的 数据库是计算机应用系统中的一种专门管理数据资源的系统。 数据有多种形式,如文字 数码 符号 图形 图像以及声音等。数据是所有计算机系统所要处理的对象。人们所熟知的一种处理办法是制作文件,即...
数据库学来有什么用,学数据库有什么用?
1楼 匿名用户 数据库是很有用的 数据库顾名思义可以管理大量数据 学好数据库当个dba收入还是相当可观的 就算不当dba 从事it行业的比如 程序员就有大量的数据要存储比如 就是一个典型的b s 那么多用户的数据都存放在 的数据库中, 一门语言 数据结构 算法 数据库 我想这个是从事it的基本功不容...
什么是数据库建模,为什么要数据库建模,有什么好处
1楼 匿名用户 你说的答案不对,我们经理说数据库建模是指把实际业务逻辑抽离出来,从而变成与数据库表对应的表结构!所以不能给你分,我自己拿回来了。 2楼 匿名用户 我觉得他的素质太低,各位不必要给回答。 3楼 爱可生云数据库 建立mysql的性能模型 对 mysql的服务器参数调优 和 容量规划 有很...