数据库系统原理
  • 数据库系统原理
  • 引言
    • 数据库系统概述
  • 关系模型介绍
    • 关系数据库结构
    • 数据库模式
    • 关系代数
      • 选择运算
      • 投影运算
      • 笛卡尔运算
      • 连接运算
      • 集合运算
      • 其他运算
  • SQL介绍
    • SQL语言分类
    • SQL数据类型
    • SQL数据库操作
    • SQL数据表操作
    • SQL数据操纵语言
    • SQL数据查询语言
    • 集合运算
    • 聚集函数
  • 中级SQL
    • 连接查询
    • 内连接
    • 外连接
    • 交叉连接和自连接
    • 视图
    • 完整性约束
    • SQL用户和授权
  • 高级SQL
    • 函数
    • 存储过程
    • 触发器
  • ER模式数据库设计
    • 数据库设计过程概览
    • 需求分析
    • 实体-联系模型
      • 复杂属性
      • 映射基数和弱实体集
    • 将E-R图转换为关系模式
    • E-R模型设计
  • 关系数据库设计
    • 数据库设计规范化
    • 函数依赖理论
    • 关系范式
  • 半结构化数据
    • 半结构化数据
  • 应用程序开发
    • ADO.NET访问数据库技术
    • 断开模式数据查询
    • 连接模式数据更新
  • 数据存储结构
    • 磁盘
    • 文件的存储
    • 文件的逻辑结构
    • 文件组织
  • 索引
    • 索引基本概念
    • B树索引
    • B+树索引
    • MySQL索引的基本语法
    • 联合索引
  • 查询处理
    • 查询处理概述
  • 查询优化
    • 查询优化概述
    • 查询树的启发式优化(代数优化算法)
  • 事务
    • 事务的概念
    • 事务的特性
    • MySQL事务处理
    • 可串行化
  • 并发控制
    • 并发控制概述
    • 封锁
    • 两阶段封锁协议封锁
    • 多粒度封锁
    • 活锁和死锁
    • 基于时间戳排序的并发控制
    • 乐观控制法
  • 恢复系统
    • 数据库恢复概述
    • 数据库恢复的实现技术
    • 基于检查点的数据库恢复
Powered by GitBook
On this page
  • 事务的结束
  • 事务模型
  1. 事务

事务的概念

事务(Transaction)是用户定义的一个单一逻辑工作单位的数据库操作序列。这些操作要么全做,要么全不做,是一个不可分割的工作单位,是数据库环境中的逻辑工作单位。

事务和程序是两个概念:

  • 在关系数据库中,一个事务可以是一条SQL语句、一组SQL语句、或整个程序

  • 一个应用程序通常包含多个事务

事务是恢复和并发控制的基本单位。

事务的开始与结束都可以由用户显式控制,在SQL语言中,显示定义事务的语句有三条:

begin transaction      //事务开始
<对数据库的更新操作SQL语句>
commit         //事务提交
rollback       //事务回滚

隐式定义方式

当用户没有显式地定义事务时,DBMS按缺省规定自动划分事务。

事务的结束

commit :事务正常结束,提交事务的所有操作(读+更新),事务中所有对数据库的更新永久生效

rollback :事务异常终止,事务运行的过程中发生了故障,不能继续执行。回滚事务的所有更新操作,事务滚回到开始时到状态。

事务模型

事务由作为一个单独单元的一个或多个SQL语句组成。这个单元中的每个SQL语句是互相依赖的,而且单元作为一个整体是不可分割的。如果单元中的一个语句不能完成,整个单元就会回滚(撤销),所有影响到的数据将返回到事务开始以前的状态。

因而,只有事务中的所有语句都成功地执行才能说这个事务被成功地执行

Previous查询树的启发式优化(代数优化算法)Next事务的特性

Last updated 4 months ago