第四章 数据更新 4-3 事务

一、什么是事务

在RDBMS中,事务是对表中数据进行更新的单位。简单来说,事务就是需要在同一个处理单元中执行的一系列更新处理的集合。

二、创建事务

事务的开始语言:

例子:

事务结束的命令:

(1)COMMIT 提交处理

COMMIT是提交事务包含的全部更新处理的结束指令。相当于文件处理中的覆盖保存。

一旦提交,就无法恢复到事务开始前的状态了。

注:虽然我们不知道事务开始的时间点,但是事务结束时一定要仔细进行确认。

(2)ROLLBACK 取消处理

ROLLBACK是取消事务包含的全部更新处理的结束指令,相当于文件处理中的放弃保存。

一旦回滚,数据库就会恢复到事务开始之前的状态。

例子:

三、事务处理何时开始

在不使用指令而悄悄开始事务的情况下,应该如何区分各个事务呢?

分两种情况:

(1)自动提交模式:每一条SQL语句就是一个事务。

(2)直到用户执行COMMIT或者ROLLBACK为止算一个事物。

使用(1)规则的数据库有SQL Server、PostgreSQL、MySQL

使用(2)规则的数据库有Oracle

三、ACID特性

DBMS的事务都遵循四种特性,ACID特性,所有DBMS都必须遵守的规则。

(1)原子性Atomicity

原子性是指事务结束时,其中所包含的更新处理要么全部执行,要么完全不执行,也就是说要么占有一切,要么一无所有。

(2)一致性 Consistency

一致性是指事务中包含的处理要满足数据库提前设置的约束,如主键约束,NOT NULL约束等。对于SQL来说,不合法的SQL会被回滚。一致性也称为完整性。

(3)隔离性 Isolation

隔离性指的是在保证不同事务之间互不干扰的特性。该特性保证了事务之间不会互相嵌套。

此外,在某个事务中进行的更改,在该事务结束之前,对其他事务而言是不可见的。

(4)持久性 Durability

持久性称为耐久性,指的是在事务(不论是提交还是回滚)结束后,DBMS能够保证该时间点的数据状态会被保存的特性。

即使由于系统故障导致数据丢失,数据库也一定能够通过某种手段进行恢复。

原文地址:https://www.cnblogs.com/mumulin99/p/9835602.html

时间: 2024-10-11 20:37:04

第四章 数据更新 4-3 事务的相关文章

SQL基础教程(第2版)第4章 数据更新:4-4 事务

● DBMS的事务具有原子性(Atomicity).一致性(Consistency).隔离性(Isolation)和持久性(Durability)四种特性.通常将这四种特性的首字母结合起来,统称为ACID特性. 在 RDBMS 中,事务是对表中数据进行更新的单位.对表进行更新需要使用 INSERT. DELETE 或者 UPDATE 三种语句.但通常情况下,更新处理并不是执行一次就结束了,而是需要执行一系列连续的操作.这时,事务就能体现出它的价值了.  SQL基础教程(第2版)第4章 数据更新:

第四章 数据更新 4-2 数据的删除

一.DROP TABLE语句和DELETE语句 DROP TABLE语句会将表完全删除. DELETE语句会留下表(容器),二而删除表中的全部数据. 二.DELETE语句的基本语法 DELETE语句的对象是记录(行).并不是表或者字段(列). 三.指定删除对象的DELETE语句(搜索型DELETE语句) DELECT语句中不能使用GROUP BY. HAVING .ORDER BY三类子句,只能使用WHERE子句. 四.只能删除表中全部数据的TRUNCATE语句,不能指定WHERE条件.执行速度

【读书笔记】第四章 瞬时响应:网站的高性能架构

第四章 瞬时响应:网站的高性能架构 4.1 网站性能测试 4.1.1 不同视角下的网站性能 1.用户角度:网站响应速度快还是慢2.开发人员:关注系统本身及其子系统的性能,响应时间,吞吐量,并发能力,稳定性等指标.3.运维人员:关注基础设施和资源利用率,比如贷款能力,服务器配置,数据中心网络架构等. 4.1.2 性能测试指标 1.响应时间 下表是一些常用的系统操作所需要的响应时间 2.并发数:系统能够同时处理的请求数目3.吞吐量:单位时间内,系统处理的请求数量(注意与并发数区分).TPS(每秒事务

2017.06.29数据挖掘基础概念第四章

第四章39.为什么在进行联机分析处理(OLAP)时,我们需要一个独立的数据仓库,而不是直接在日常操作的数据库上进行 1.提高两个系统的性能 2.操作数据库支持多事务的并发处理,需要并发控制和恢复机制,确保一致性和事务的鲁棒性 3.两者有着不同的数据的结构.内容和用法40.什么是数据仓库 数据仓库是一种数据库,它与单位的操作数据库分别维护,数据仓库系统允许将各种应用系统集成在一起,为统一的历史数据分析提供坚实的平台,对信息处理提供支持,是一个面向主题的.集成的.时变得.非易失的数据集合,支持管理者

[SQL] SQL 基础知识梳理(四) - 数据更新

SQL 基础知识梳理(四) - 数据更新 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5929786.html 目录 一.插入数据 1.INSERT 语句的基本语法 --语法: --INSERT INTO <表名>(列1, 列2, ...) VALUES (值1, 值2, ...) INSERT INTO dbo.Shohin ( shohin_id , shohin_mei , shohin_bunrui , hanbai_tanka , s

14第十四章触发器(转载)

14第十四章触发器 DML --> AFTER / FOR   UPDATE , INSERT , DELETE  -- 用来级联删除 --> INSTEAD OF  在 时间之前触发,相当于 bef INSERTED, DELETED 两张表要好好利用. 在创建 DML 触发器时,不能使用下列语句: CREATE / ALTER /DROP DATABASE LOAD DATABASE / LOAD LOG / RECONFIGURE RESTORE DATABASE  / RESTORE

第四章关键的构建决策(代码大全2)

一旦你能确定 “构建”的基础已经打好,那么准备工作就转变为针对特定“构建”的决策了.第3章“三思而后行:前期准备”讨论了设计蓝图和建筑许可证在软件业务里的等价物.你可能对那些准备工作没有多少发言权,所以在第3章关注的焦点是确定“当构建开始后你需要做什么”.本章关注的焦点是程序员和技术带头人个人必须(直接或间接)负责的准备工作.在向工地进发之前,如何选择适用的工作别在你的腰带上,你的手里车里应该装哪些东西?本章讨论的就是这事务在软件中的等价物. 4.1 选择编程语言(Choice of Progr

第四章 Hibernate入门

第四章 Hibernate入门4.1 框架技术    4.1.1 框架的概念        框架是一个提供了可重用的公共结构的半成品.    4.1.2 主流框架        4.1.2.1 Struts框架        4.1.2.2 Struts2框架        4.1.2.3 Hibernate框架            一个优秀的持久化框架,负责简化对象数据保存到数据库中,或从数据库中读取数据并封装到对象的工作.        4.1.2.4 Spring框架4.2 Hibern

Android学习笔记—第四章 Android开发组件2

第四章 Android开发组件2 列表类组件 (1)ListView组件:以垂直列表的形式列出需要显示的列表项 相关属性: a. android:divider  用于为列表视图设置分隔条,可以用颜色或者图片资源 b. android:dividerHeight  设置分隔条的高度 c. android:entries  通过数组资源为ListView指定列表项 d. android:footerDividersEnabled  设置是否在footerView之前绘制分隔条,默认为true. e