`
kidiaoer
  • 浏览: 805591 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

事务的基本概念

阅读更多
事务的基本概念 面试常问
1. 事务定义


事务(Transaction)是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位.一个事务可以是一条SQL语句,也可以是一组SQL语句.如银行转帐操作,从A帐号转入1000元资金到B帐号,包括从A帐号取出1000元和将1000元存入B帐号两个操作,如果从A帐号取出1000元成功而B帐号存入1000元失败,或者从A帐号取出1000元失败而B帐号存入1000成功,只要其中一个操作失败,转帐操作失败.事务是这样一种机制,它确保多个SQL语句被当作单个工作单元来处理.


在SQL语言中,事务控制的语句有:BEGIN TRANSACTION,COMMIT,ROLLBACK.如果用户没有指明事务的开始和结束,DBMS按缺省规定自动划分事务.用户以BEGIN TRANSACTION开始事务,以COMMIT或ROLLBACK结束事务.COMMIT表示提交事务,用于正常结束事务.ROLLBACK表示回滚, 在事务执行过程中发生故障,事务不能继续,撤消事务中所有已完成的操作,回到事务开始的状态.


2. 事务性质


事务具有四个特性:原子性(Atomicity),一致性(Consistency),隔离性(Isolation)和持续性 (Durability).简称为ACID特性.


(1) 原子性


事务是数据库的逻辑工作单位,被看做一个单一的,不可分割的操作单元.事务中包括的所有操作要么都做,要么都不做.


(2) 一致性


事务执行的结果必须是使数据库从一个一致状态变到另一个一致状态.因此当数据库只包含成功事务提交的结果时,就说数据库处于一致状态.如果数据库系统运行中发生故障,有些事务尚未完成就被迫中断,系统将事务中对数据库的所有已完成的操作全部撤消,回滚到事务开始时的一致状态.


(3) 隔离性


一个事务的执行不能被其他事务干扰.即一个事务内部的操作及使用的数据对其他并发事务是隔离的,并发执行的各个事务之间不能互相干扰.


(4) 持续性


指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的.接下来的其他操作或故障不应该对其执行结果有任何影响.


保证事务ACID特性是事务处理的重要任务.事务ACID特性可能遭到破坏的因素有:


(1) 多个事务并行运行时,不同事务的操作交叉执行.


(2) 事务在运行过程中被强行停止.


在第一种情况下,数据库管理系统必须保证多个事务的交叉运行不影响这些事务的原子性;在第二种情况下,数据库管理系统必须保证被强行终止的事务对数据库和其它事务没有任何影响.这些就是数据库管理系统中并发控制和恢复机制的任务.
分享到:
评论

相关推荐

    微服务架构的分布式事务控制及解决方案视频教程

    1.事务基本概念讲解(本地、分布式) 2.分布式事务理论(CAP、BASE) 3.分布式事务解决方案之2PC(xa、seata) 4.分布式事务解决方案之TCC(hmily) 5.分布式事务解决方案之可靠消息最终一致性 6.分布式事务解决方案...

    事务处理:概念与技术

    作者使用事务作为基本概念,说明了在有限的资金和风险下如何构建高性能的高可用性应用。书中还详细阐述了各种可能发生的问题,以及解决这些问题的实际可用的技术。  本书列举了大量成功的商业和研究系统的实例,...

    分布式事务实战(二) -事务基本概念

    1 什么是事务 一种可靠、一致的方式,访问和操作数据库中数据的程序单元。 2 ACID性质 并非任意的对数据库的操作序列都是数据库事务。数据库事务拥有以下四个特性,习惯上被称之为ACID特性。 原子性(Atomicity):...

    事务的概念

    事务的基本概念和在不同环境下如何使用事务。

    Spring Boot数据库事务控制.pptx

    1.问题引入 2.事务基本概念、特性 3.事务并发引起问题,隔离级别 4.Springboot事务控制

    事务处理概念与技术

    资源名称:事务处理 概念与技术内容简介: 列举了大量成功的商业和研究系统的实例,此外,列出了许多事务处理算法的可编译的...作者使用事务作为基本概念, 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。

    MySQL数据库:数据处理的基本概念.pptx

    数据处理的基本概念;数据处理的基本概念;数据处理的基本概念;数据处理的基本概念;数据处理的基本概念;对客观事务及其活动的抽象符号表示,是存储在某一种媒体上可以鉴别的符号资料。? 例如:学生的考试成绩85和59。 ...

    第八讲-分布式事务原理及应用.pdf

    事务的基本概念-ACID 2 事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元 (unit)。在关系数据库中,一个事务由一组SQL语句组成。事务应该具有4个属性: 原子性、一致性、隔离性、持久性。这...

    MySQL 事务概念与用法深入详解

    主要介绍了MySQL 事务概念与用法,结合实例形式深入分析了MySQL 事务基本概念、原理、用法及操作注意事项,需要的朋友可以参考下

    数据库的连接池原理,基本概念及原理,服务器自带的连接池

    数据库的连接池原理的讲解 基本概念及原理 服务器自带的连接池 并发问题 多数据库服务器和多用户 事务处理 连接池的分配与释放 连接池的配置与维护

    SIP协议原理基本概念

    详细讲解SIP协议原理基本概念,几个基本概念:UAC、UAS、对话、事务、URI、头域,对话:SIP消息中哪些内容决定一个对话,事务:请求是否一定有响应?一个请求是否只能有一个响应?URI:常见的URI有哪几种

    ERP/MES基本概念及名词术语提炼总结

    关于ERP、MES名词概念的总结:ERP:企业资源管理计划Enterprise Resource Planning是对整个企业的资源进行计划和各种管理活动的集成应的联机事务处理系统,是企业信息的集成框架。  MES:制造执行系统...

    数据库的事务处理和并发控制

    事务是一个逻辑工作单元,SQL Server 2005 提供了几种...本章主要介绍 SQL Server 2005数据库系统的事务和锁的基本概念,事务、批、锁的创建和使用,通过事务、批、锁监测系统和优化物理数据库的操作,以及作业的设置。

    计算机的基本概念.pdf

    计算机的基本概念 什么是计算机? 计算机是一种能够按照事先存储的程序,自动、高速地对数据进行输入、处理、输出和存 储的系统。 计算机能够完成的基本操作及其主要功能: 输入:接受由输入设备(如键盘、鼠标器、...

    mysql面试题-mysql经典面试题目-数据库的基本概念-SQL语法-事务处理-索引优化-性能调优-mysql-面试题目

    MySQL如何支持事务处理? 什么是主键和外键?它们之间有什么区别? 什么是数据库范式?列举一些常见的数据库范式。 什么是数据库连接池?为什么使用连接池可以提高数据库访问性能? 什么是数据库事务隔离级别?...

    数据库系统概念 英文版 原书第6版

    本书是经典的数据库系统教科书《Database SystemConcepts》的最新修订版,全面介绍数据库系统的各种知识,透彻阐释数据库管理的基本概念。本书内容丰富,不仅讨论了关系数据模型和关系语言、数据库设计过程、关系...

    数据库系统概念中文版

    《数据库系统概念》是经典的数据库系统教科书《DatabaseSystemConcepts》的最新修订版 全面介绍数据库系统的各种知识 透彻阐释数据库管理的基本概念 《数据库系统概念 原书 第6版 》内容丰富 不仅讨论了关系数据模型...

    Java中各种事务管理技术的总结

    内容包括事务及其控制的基本概念,Oracle中的事务处理,以及JDBC,EJB,JTA事务管理内容的总结,最后还介绍了事务管理的技巧,是了解和学习JAVA事务处理不可多得的第一手资料!

    全面分析_Spring_的编程式事务管理及声明式事务管理

    全面分析_Spring_的编程式事务管理及声明...您还需要具备基本的事务管理的知识,比如:事务的定义,隔离级别的概念,等等。本文将直接使用这些概念而不做详细解释。另外,您最好掌握数据库的基础知识,虽然这不是必须。

Global site tag (gtag.js) - Google Analytics