`
wing123
  • 浏览: 798918 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

什么是事务?

SQL 
阅读更多

什么是事务呢?简单的说,

 就是确保"同时成功则成功,任何一个失败则失败"的一种机制。一个事务往往包括三种动作行为:开始事务(Begin Transaction),提交事务(Commit)和回滚(Rollback)。从开始事务到提交事务过程中所发生的一切数据库修改要么同时成功(被Commit,固化在数据库中),要么一个失败,大家同时回复原有状态(Rollback,数据库回复到事务开始时的状态)。

具体的英语解释:

Transaction Overview

A database transaction is a larger unit that frames multiple SQL statements. A transaction ensures that the action of the framed statements is atomic with respect to recovery.

A SQL Modification Statement has limited effect. A given statement can only directly modify the contents of a single table (Referential Integrity effects may cause indirect modification of other tables.) The upshot is that operations which require modification of several tables must involve multiple modification statements. A classic example is a bank operation that transfers funds from one type of account to another, requiring updates to 2 tables. Transactions provide a way to group these multiple statements in one atomic unit.

In SQL92, there is no BEGIN TRANSACTION statement. A transaction begins with the execution of a SQL-Data statement when there is no current transaction. All subsequent SQL-Data statements until COMMIT or ROLLBACK become part of the transaction. Execution of a COMMIT Statement or ROLLBACK Statement completes the current transaction. A subsequent SQL-Data statement starts a new transaction.

In terms of direct effect on the database, it is the SQL Modification Statements that are the main consideration since they change data. The total set of changes to the database by the modification statements in a transaction are treated as an atomic unit through the actions of the transaction. The set of changes either:

  • Is made fully persistent in the database through the action of the COMMIT Statement, or
  • Has no persistent effect whatever on the database, through:
    • the action of the ROLLBACK Statement,
    • abnormal termination of the client requesting the transaction, or
    • abnormal termination of the transaction by the DBMS. This may be an action by the system (deadlock resolution) or by an administrative agent, or it may be an abnormal termination of the DBMS itself. In the latter case, the DBMS must roll back any active transactions during recovery.

The DBMS must ensure that the effect of a transaction is not partial. All changes in a transaction must be made persistent, or no changes from the transaction must be made persistent.

我的理解:

最基本的, 在数据库处理DML (Update Insert Delete) 时,会在数据库形成过程任务需要执行 commit 或 因为异常存在而取消该过程的执行 这种过程加判断的结果 整套数据库运行的机制为事务 。

分享到:
评论

相关推荐

    100个C#面试题

    什么是锁? 2 3.什么是索引,有什么优点? 2 4.视图是什么?游标是什么? 2 5.什么是存储过程?有什么优点? 2 6.什么是触发器? 3 7.简单介绍下ADO.NET和ADO主要有什么改进? 3 8.如何把一个array复制到arrayist里 ...

    MySQL面试题(记得被问过的一些题目)

    char和varchar两种数据类型的区别与适用场景? 关联查询INNER JOIN、LEFT JOIN 、RIGHT JOIN的区别与适用场景? 索引分类? 索引区别?...什么是事务? 事务的特性与适用场景? 事务的隔离级别与适用场景?

    200道Java面试常见题目.pdf

    * 什么是分布式事务?Java中有哪些常见的分布式事务实现方式? * 什么是分布式缓存?Java中有哪些常见的分布式缓存实现方式? * 什么是分布式文件系统?Java中有哪些常见的分布式文件系统实现方式? 操作系统知识点...

    mysql常见的几个面试题.txt

    什么是事务? 事务是一个操作序列,其中一组操作要么全部执行成功,要么全部执行失败。事务支持 ACID 特性,即原子性、一致性、隔离性和持久性。 什么是视图? 视图是一个虚拟的表,它从一个或多个表中检索数据。...

    09-5基于注解方式的声明式事务.rar

    1. **什么是事务?** 事务是数据库操作的基本单元,它确保一组操作要么全部成功,要么全部失败。在Java编程中,事务管理对于确保数据的一致性至关重要,特别是在多线程环境和并发操作中。 2. **Spring事务管理** ...

    spring 事务例子

    1. **什么是事务?** 事务是数据库操作的基本单元,它保证了一组数据库操作的原子性、一致性、隔离性和持久性(ACID属性)。这意味着要么所有操作都成功,要么全部回滚,不会留下不一致的状态。 2. **Spring 声明...

    MySQL高级面试题及答案,企业真面试题.md

    解释一下什么是事务? 事务是一组SQL语句的执行单元,它们要么全部执行成功,要么全部回滚。事务可以保证数据的一致性和完整性。在MySQL中,事务支持ACID特性,即原子性(Atomicity)、一致性(Consistenc

    MySQL数据库面试题(2020最新、最全、最完整版本)附pdf版.pdf

    1. 什么是事务? 事务是指数据库中的一组操作,包括开始、执行、提交或回滚等阶段。 2. MySQL 中的事务机制是什么? MySQL 中的事务机制包括 ACID 模型,包括原子性、一致性、隔离性、持久性等。 七、锁机制 1. ...

    mysql 面试题集合.docx

    4. 什么是事务?MySQL中如何实现事务? 事务是MySQL中一组操作的集合,这些操作要么全部执行成功,要么全部回滚。MySQL通过使用ACID(原子性、一致性、隔离性和持久性)来保证事务的正确性。 5. 什么是视图?MySQL...

    Ado.net事务

    1. **什么是事务?** 事务是一组数据库操作,这些操作被视为单个逻辑工作单元。如果所有操作都成功完成,事务将被提交,即对数据库的更改永久保存。如果其中任何一步失败,整个事务将被回滚,这意味着所有更改都将...

    plsql面试题.doc

    - **什么是事务?** 一组数据库操作,被视为一个工作单元,要么全部成功,要么全部失败。 - **如何开始和结束事务?** 使用BEGIN和COMMIT(提交)或ROLLBACK(回滚)。 9. **索引与查询优化** - **什么是索引?*...

    数据库工程师200道习题

    - 什么是事务?事务的ACID属性是什么? - 解释锁在并发控制中的作用,有哪些常见的锁类型? - 什么是死锁?如何避免和解决死锁? 6. 数据备份与恢复: - 数据库备份的常见类型有哪些?它们各自的特点是什么? ...

    oracle考题及答案

    11. **什么是事务?** 事务是数据库操作的基本单位,具有ACID属性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。 12. **如何提交和回滚事务?** `COMMIT`用于提交...

    2022年最高频的105个 MySQL 面试题(附答案)

    - **什么是事务?** 事务是数据库操作的一组逻辑单元,具有ACID特性(原子性、一致性、隔离性和持久性)。 - **如何开启和提交事务?** `START TRANSACTION;` 开启事务,`COMMIT;` 提交事务。 - **如何回滚事务?...

    C#120问(重点难点)

    什么是锁? 答:事务是指一个工作单元,它包含了一组数据操作命令,并且所有的命令作为一个整体一起向系统提交或撤消请求操作,即这组命令要么都执行,要么都不执行。  锁是在多用户环境中对数据的访问的限制。Sql...

    mysql面试题.md

    包含:什么是MySQL?它有哪些特点?、什么是索引?为什么使用索引?、什么是主键?、什么是外键?、什么是事务?MySQL如何支持事务?、什么是SQL注入?如何防止SQL注入?等

    事务

    什么是事务? 事务指逻辑上的一组操作,组成这组操作的各个单元,要么全部成功,要么全部失败。在不同的环境中,都可以有事务。对应在数据库中,就是数据库事务。(访问并可能操作各种数据项的一个数据库操作序列)...

    MySQL经典面试题汇总

    - **问:什么是事务?** - 答:事务是数据库操作的逻辑单元,一组操作要么全部成功,要么全部失败。MySQL支持ACID(原子性、一致性、隔离性和持久性)特性。 - **问:如何在MySQL中开始和提交一个事务?** - 答...

Global site tag (gtag.js) - Google Analytics