关系数据库事务(DatabaseTransaction)是指一个可以包含多个步骤来完成所需要的任务的工作单元。通过事务将一系列不可分割的数据库 *** 作作为一个整体来执行,从而保证了数据库的完整性和有效性。其包含了一组数据库 *** 作命令的一个 *** 作序列,事务中所有命令作为一个整体向系统提交或撤销 *** 作请求(要么完全执行,要么完全不执行,即数据库命令系列要么都成功,要么都不成功)。
2.1.1事务特性数据库事务必须具备ACID特性,一个逻辑工作单元要成为事务,必须满足ACID属性。
ACID是指Atomicity(原子性)、Consistency(一致性)、Isolation(隔离性)和Durability(持久性)。事务由数据库管理系统(DBMS)中的事务管理子系统负责处理。
1.原子性原子性指的是一个事务(Transaction)中的所有 *** 作,要么全部完成,要么全部不完成,不会结束在中间某个环节。事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样。
2.一致性一致性指的是在一个事务执行之前和执行之后数据库都必须处于一致性状态。如果事务成功完成,那么系统中所有变化将正确地应用,系统处于有效状态。如果在事务中出现错误,那么系统中的所有变化将自动地回滚,系统返回到原始状态。
3.隔离性隔离性指的是在并发环境中,当不同的事务同时 *** 纵相同的数据时,每个事务都有各自的完整数据空间。由并发事务所做的修改必须与任何其他并发事务所做的修改隔离。事务查看数据更新时,数据所处的状态要么是另一事务修改它之前的状态,要么是另一事务修改它之后的状态,事务不会查看到中间状态的数据。
4.持久性持久性指的是只要事务成功结束,它对数据库所做的更新就必须永久地保存下来。即使发生系统崩溃,重新启动数据库系统后,数据库还能恢复到事务成功结束时的状态。
事务(Transaction),一般是指要做的或所做的事情。在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。事务应该具有4个属性:原子性、一致性、隔离性、持久性。这四个属性通常称为ACID特性。
1、原子性。一个事务是一个不可分割的工作单位,事务中包括的诸 *** 作要么都做,要么都不做。
2、一致性。事务必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。
3、隔离性。一个事务的执行不能被其他事务干扰。即一个事务内部的 *** 作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。
4、持久性。指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他 *** 作或故障不应该对其有任何影响。
扩展资料
事务类型:
1、手动事务。手动事务允许显式处理若干过程,这些过程包括:开始事务、控制事务边界内的每个连接和资源登记、确定事务结果(提交或中止)以及结束事务。
2、自动事务。NET 页、XML Web services方法或 NET Framework 类一旦被标记为参与事务,它们将自动在事务范围内执行。可以通过在页、XML Web services 方法或类中设置一个事务属性值来控制对象的事务行为。
参考资料来源:百度百科——事务
事务的四个特性如下:
1、原子性:事务中所有 *** 作是不可再分割的原子单位。事务中所有 *** 作要么全部执行成功,要么全部执行失败。一个事务内的 *** 作要么全部成功要么全部失败。
2、一致性:事务执行后数据库状态与其它业务规则保持一致。其他特性都是为了给一致性服务的。例如买东西,张三买李四的东西,买卖前和买卖后张三和李四的所有钱数之和是保持不变的。
3、隔离性:事务和事务之间是隔离开的,一个事务看不到另一个事务正在 *** 作的数据。
4、持久性:一旦事务提交成功,事务中所有的数据 *** 作都必须被持久化到数据库中,即使提交事务后,数据库马上崩溃,在数据库重启时也必须能保证通过某种机制将数据恢复到提交后的状态。
事务是应用程序中一系列严密的 *** 作,所有 *** 作必须成功完成,否则在每个 *** 作中所作的所有更改都会被撤消。也就是事务具有原子性,一个事务中的一系列的 *** 作要么全部成功要么一个都不做。
事务的结果有两种:当事务中的所有步骤全部成功执行完成时事务提交。如果其中一个步骤失败将发生回滚 *** 作,撤消之前到事务开始时的所有 *** 作。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)