数据库事务是哪个部分的,数据库中所有执行的事务都记录在
来源:整理 编辑:黑码技术 2023-10-11 07:12:07
本文目录一览
1,数据库中所有执行的事务都记录在
事务日志文件Transaction Log File,扩展名为ldf,它是数据库结构中非常重要却又常被忽视的部分。它是用来记录数据库更情况新的文件,它可以记录针对数据库的任何操作,并将记录的结果保存到独立的文件中。对于每一次数据库更新的过程,事务日志文件都有非常全面的记录。根据这些记录可以恢复数据库更新前的状态。A原理上是这样的,这一点大家在教科书上都学到过~!但是在大部分应用中(尤其是制造行业、和一些业务链比较紧凑的行业中)为了不耽误生产和业务,都是重启,以前甚至出现过日志空间满了 删除日志的现象。 当然在归档,重做等日志完整的情况下可以回复数据库。最好找一个业务量小、生产检修的时候恢复。
2,JDBC的事务有哪位能详细解说下
事务是针对原子操作的,要求原子操作不可再分,要求原子操作必须同时成功同时失败。
事务是捆绑的原子操作的边界。
JDBC中使用事务,先要使用连接调用setAutoCommite(false)方法,把自动提交(commit)置为false。打开事务就要关闭自动提交。不用事务是要把setAutoCommite(true).
在处理事务时,在发送sql语句后执行成功并确认时,就在try块中使用连接调用commit()方法来发送提交信息,
在发送sql语句后执行失败时,会在catch语句块中使用连接调用rollback()方法来发送回滚信息,也可以在需要时做回滚操作(主观原因)。
事务隔离级别
TRANSACTION_NONE不使用事务。
TRANSACTION_READ_UNCOMMITTED 可以读取为提交数据。
TRANSACTION_READ_COMMITTED可以避免脏读,不能够读取没提交的数据,最常用的隔离级别 大部分数据库的默认隔离级别
TRANSACTION_REPEATABLE_READ可以避免脏读,重复读取,
TRANSACTION_SERIALIZABLE可以避免脏读,重复读取和幻读,(事务串行化)会降低数据库效率JDBC的事务默认是自动提交的
你如果要手动提交就要setAutoCommit(false);
3,什么是事务SQL Server中的事务有什么特点
事务是恢复和并发控制的基本单位。 事务应该具有4个属性:原子性、一致性、隔离性、持续性。这四个属性通常称为ACID特性。 原子性(atomicity)。一个事务是一个不可分割的工作单位,事务中包括的诸操作要么都做,要么都不做。 一致性(consistency)。事务必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。 隔离性(isolation)。一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。 持久性(durability)。持续性也称永久性(permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其有任何影响。隐式事务是sql server为你而做的事务.隐式事务又称自动提交事务.如果运行一条i n s e rt语句,sql server将把它包装到事务中,如果此i n s e rt语句失败,sql server将回滚或取消这个事务.每条s q l语句均被视为一个自身的事务.例如在程序清单2 1 - 2中,有四条i n s e rt语句.第一,二,四条是有效的,第三条语句是无效的.因为它违反了该表中有关作者标识必须唯一的约束.当程序运行时,第一,二,四条语句执行成功并插入表中.显示事务是一种由你自己指定的事务.这种事务允许你自己决定哪批工作必须成功完成,否则所有部分都不完成.为了给自己的事务定界,可以使用关键字begin transaction和rollback transaction或commit transaction.原子性事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。一致性事务在完成时,必须使所有的数据都保持一致状态。在相关数据库中,所有规则都必须应用于事务的修改,以保持所有数据的完整性。事务结束时,所有的内部数据结构(如 B 树索引或双向链表)都必须是正确的。隔离由并发事务所作的修改必须与任何其他并发事务所作的修改隔离。事务识别数据时数据所处的状态,要么是另一并发事务修改它之前的状态,要么是第二个事务修改它之后的状态,事务不会识别中间状态的数据。这称为可串行性,因为它能够重新装载起始数据,并且重播一系列事务,以使数据结束时的状态与原始事务执行的状态相同。持久性事务完成之后,它对于系统的影响是永久性的。该修改即使出现系统故障也将一直保持。
4,什么是事务事务有哪些特征
事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。事务通常由高级数据库操纵语言或编程语言(如SQL,C++或Java)书写的用户程序的执行所引起,并用形如begin transaction和end transaction语句(或函数调用)来界定。事务由事务开始(begin transaction)和事务结束(end transaction)之间执行的全体操作组成。
例如:在关系数据库中,一个事务可以是一条SQL语句,一组SQL语句或整个程序。
事务是恢复和并发控制的基本单位。
事务应该具有4个属性:原子性、一致性、隔离性、持续性。这四个属性通常称为ACID特性。
原子性(atomicity)。一个事务是一个不可分割的工作单位,事务中包括的诸操作要么都做,要么都不做。
一致性(consistency)。事务必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。
隔离性(isolation)。一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。
持久性(durability)。持续性也称永久性(permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其有任何影响。
事务是为了保证对同一数据表操作的一致性。
即多条语句放在事务中执行的时候,要么一起成功,要么全不成功。
如果想看严格定义,就去随便找一本数据库教材看看吧。
我只说我的理解:数据库中的事务就是需要捆绑在一起执行的操作集合,他们应不能被部分的完成。
虽然事务并不都是用在数据库中的,但他们都有以下共同性质
事务应当具有ACID性质,
A是原子性(atomic):事务中包含的各项操作必须全部成功执行或者全部不执行。任何一项操作失败,将导致整个事务失败,其他已经执行的任务所作的数据操作都将被撤销,只有所有的操作全部成功,整个事务才算是成功完成。
C是一致性(consistent):保证了当事务结束后,系统状态是一致的。那么什么是一致的系统状态?例如,如果银行始终遵循着"银行账号必须保持正态平衡"的原则,那么银行系统的状态就是一致的。上面的转账例子中,在取钱的过程中,账户会出现负态平衡,在事务结束之后,系统又回到一致的状态。这样,系统的状态对于客户来说,始终是一致的。
I是隔离性(isolated):使得并发执行的事务,彼此无法看到对方的中间状态。保证了并发执行的事务顺序执行,而不会导致系统状态不一致。
D是持久性(durable):保证了事务完成后所作的改动都会被持久化,即使是发生灾难性的失败。可恢复性资源保存了一份事务日志,如果资源发生故障,可以通过日志来将数据重建起来。
5,自考SQL名词解释数据模型关系视图事务
SQL名词解释:数据模型,关系,视图,事务模型是对现实世界的抽象。在数据库技术中,表示实体类型及实体类型间联系的模型称为“数据模型”。数据模型是数据库管理的教学形式框架,是用来描述一组数据的概念和定义,包括三个方面:1、概念数据模型(Conceptual Data Model):这是面向数据库用户的实现世界的数据模型,主要用来描述世界的概念化结构,它使数据库的设计人员在设计的初始阶段,摆脱计算机系统及DBMS的具体技术问题,集中精力分析数据以及数据之间的联系等,与具体的DBMS无关。概念数据模型必须换成逻辑数据模型,才能在DBMS中实现。2、逻辑数据模型(Logixal Data Model):这是用户从数据库所看到的数据模型,是具体的DBMS所支持的数据模型,如网状数据模型、层次数据模型等等。此模型既要面向拥护,又要面向系统。3、物理数据模型(Physical Data Model):这是描述数据在储存介质上的组织结构的数据模型,它不但与具体的DBMS有关,而且还与操作系统和硬件有关。每一种逻辑数据模型在实现时都有起对应的物理数据模型。DBMS为了保证其独立性与可移植性,大部分物理数据模型的实现工作又系统自动完成,而设计者只设计索引、聚集等特殊结构。 表关系可以在数据库关系图中的表间创建关系以显示某个表中的列如何链接到另一表中的列。表与表之间存在三种类型的关系:一对多关系、多对多关系、一对一关系、 一对多关系。 视图和数据表很像,不过不同的是,视图是根据一定的约束从一个或多个数据表里面取出数据,其实视图就是帮你一个忙,将你经常用的sql语句集成了而已,有点类似编程里面的函数。视图同自定义函数很相似,不同的是select视图的时候,后面不用跟()数据库事务是指作为单个逻辑工作单元执行的一系列操作。模型是对现实世界的抽象。在数据库技术中,表示实体类型及实体类型间联系的模型称为“数据模型”。 数据模型是数据库管理的教学形式框架,是用来描述一组数据的概念和定义,包括三个方面: 1、概念数据模型(Conceptual Data Model):这是面向数据库用户的实现世界的数据模型,主要用来描述世界的概念化结构,它使数据库的设计人员在设计的初始阶段,摆脱计算机系统及DBMS的具体技术问题,集中精力分析数据以及数据之间的联系等,与具体的DBMS无关。概念数据模型必须换成逻辑数据模型,才能在DBMS中实现。 2、逻辑数据模型(Logixal Data Model):这是用户从数据库所看到的数据模型,是具体的DBMS所支持的数据模型,如网状数据模型、层次数据模型等等。此模型既要面向拥护,又要面向系统。 3、物理数据模型(Physical Data Model):这是描述数据在储存介质上的组织结构的数据模型,它不但与具体的DBMS有关,而且还与操作系统和硬件有关。每一种逻辑数据模型在实现时都有起对应的物理数据模型。DBMS为了保证其独立性与可移植性,大部分物理数据模型的实现工作又系统自动完成,而设计者只设计索引、聚集等特殊结构。 表关系 可以在数据库关系图中的表间创建关系以显示某个表中的列如何链接到另一表中的列。 表与表之间存在三种类型的关系:一对多关系、多对多关系、一对一关系、 一对多关系。 视图和数据表很像,不过不同的是,视图是根据一定的约束从一个或多个数据表里面取出数据,其实视图就是帮你一个忙,将你经常用的sql语句集成了而已,有点类似编程里面的函数。视图同自定义函数很相似,不同的是select视图的时候,后面不用跟() 数据库事务是指作为单个逻辑工作单元执行的一系列操作。
文章TAG:
数据 数据库 数据库事务 事务 数据库事务是哪个部分的