- 1、本文档共26页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ORACLE-事务的和锁
Oracle 11g数据库应用教程 第12章 事务和锁 12.1 事务 12.1.2 事务的特性 12.1.3 事务的类型 12.1.4 事务的保存点 12.2 锁 12.3 小结 12.4 习题 授课教师:姚瑶 职务:讲师 事务和锁是两个联系非常紧密的概念,它们保证了数据库的一致性。由于数据库是一个可以由多个用户共享的资源,因此当多个用户并发地存取数据时,就要保证数据的准确性。事务和锁就完成了这项功能。 本章的学习目标: ● 掌握事务的概念和使用方法 ● 了解锁的概念和使用方法 索引是关系型数据库的一个基本概念。在关系数据库中,索引是一种与表有关的数据库结构,它可以使对应于表的SQL语句执行得更快,作用类似于一本书的目录。本节主要介绍索引的概念、作用和使用方法。 12.1.1 事务概述 事务在数据库中主要用于保证数据的一致性,防止出现错误数据。在事务内的语句都会被看成一个单元,一旦有一个失败,那么所有的都会失败。在编程过程中也经常用到事务。 事务是一组数据库操作的逻辑工作单元,每个事务都是一个原子单位。在一个事务中可以包含一条或多条DML(数据操纵语言)、DDL(数据定义语言)和DCL(数据控制语言)语句,这些语句组成一个逻辑整体。在事务中包含的数据库操作是不可分割的整体,要么在一起被执行,要么回滚到执行事务之前的状态。对事务的操作有两个:提交(COMMIT)和回滚(ROLLBACK)。提交事务时,对数据库所做的修改便永久写入数据库。回滚事务时,对数据库所做的修改全部撤销,数据库恢复到操作前的状态。事务可用于操作数据库的任何场合,包括应用程序、存储过程和触发器等。 在数据库的应用中,经常需要使用到事务的概念。例如:银行账户之间的汇款转账操作。该操作在数据库中由以下三步完成: ● 源账户减少存储金额,例如减少10000; ● 目标账户增加存储金额,增加10000; ● 在事务日志中记录该事务。 整个交易过程,我们看做一个事务,如果操作失败,那么该事务就会回滚,所有该事务中的操作将撤销,目标账户和源账户上的资金都不会出现变化;如果操作成功,那么将对数据库永久修改,即使以后服务器断电,也不会对该修改结果影响。 事务有四个特性,简称ACID 属性: ● 原子性(Atomicity):事务是一个完整的操作。事务的各步操作是不可分的(原子的);要么都执行,要么都不执行 ● 一致性(Consistency):事务把数据库从一个一致性状态带入另一个一致性状态。 ● 隔离性(Isolation):对数据进行修改的所有并发事务是彼此隔离的,这表明事务必须是独立的,它不应以任何方式依赖于或影响其他事务。 ● 永久性(Durability):事务完成后,它对数据库的修改永久有效,事务日志能够保持事务的永久性。 一个事务中可以包含多条DML语句,或者包含一条DDL语句,或者包含一条DCL语句。事务开始于第一条SQL语句,在下列之一情况结束: ● 遇到COMMIT或ROLLBACK命令。 ● 遇到一条DDL或者DCL命令。 ● 系统发生错误、退出或者崩溃。 事务是一系列可以把系统带入一个新的状态的操作,如果事务被提交,则数据库进入一个新的状态,否则数据库恢复到事务以前的状态。在数据库中使用事务的好处是首先可以确保数据的一致性,其次对数据做永久修改之前可以预览以前的数据改变,还可以将逻辑上相关的操作进行分组。 控制事务的方式有两种,隐式控制和显示控制。 1. 隐式控制 该类型的事务没有明确的开始和结束标志。它由数据库自动开启,当一个程序正常结束或使用DDL语言时会自动提交。如果从SQL *PLUS非正常退出或发生系统崩溃,那么系统将自动回滚事务。如果设置AUTOCOMMIT为打开状态(默认关闭),则每次执行DML操作都会自动提交。语法格式如下: SET AUTOCOMMIT ON/OFF ● 设置开关为ON,表示自动提交数据更新语句; ● 设置开关为OFF,表示关闭自动提交数据更新语句的功能。 2. 显式控制 显式方式就是利用COMMIT和ROLLBACK命令“显式”的结束事务。 Oracle中的事务不需要设置开始标志,通常遇到登录数据库后,第一次执行DML语句的时候;或者是当事务结束后,第一次执行DML语句的时候,事务就开始了。 【例12-1】演示如何使用事务保持数据库数据的一致性。 第一步:登录SQL *Plus窗口,称之为窗口1,执行下面的语句。 SQLINSERT INTO Students VALUES(20120810101,测试数据,男,to_date (1990-04-24,YYYY-MM-DD), 汉族,081,08101); 当上述操作
您可能关注的文档
- MATLAB讲稿1.2-常量的与变量.ppt
- MATLAB经典教程。第六的章程序接口.ppt
- matlab第2章 Matlab的基本使用的方法.ppt
- MATLA的B作业答案.pdf
- matla的b句柄图形对象.docx
- MATLA的B基本运算.ppt
- MATL的AB函数句柄和M文件.doc
- MATLA的B矩阵与数组.ppt
- MATL的AB生成Word和Excel文档.ppt
- Mat的hcad14的窍门与提示.pdf
- 2020版 沪科技版 高中生物学 必修2 遗传与进化《第4章 生物的进化》大单元整体教学设计[2020课标].docx
- 情绪价值系列报告:春节消费抢先看-国证国际证券.docx
- 精品解析:北京市东直门中学2023-2024学年高二下学期3月阶段性考试(选考)物理试题(解析版).docx
- 2020版 沪科技版 高中生物学 必修2 遗传与进化《第4章 生物的进化》大单元整体教学设计[2020课标].pdf
- 2020版 沪科技版 高中生物学 选择性必修1 稳态与调节《第1章 人体的内环境和稳态》大单元整体教学设计[2020课标].pdf
- 2020版 沪科技版 高中生物学 选择性必修1 稳态与调节《第1章 人体的内环境和稳态》大单元整体教学设计[2020课标].docx
- 液冷盲插快接头发展研究报告-全球计算联盟.docx
- 精品解析:北京市东直门中学2023-2024学年高二下学期3月阶段性考试(选考)物理试题(原卷版).docx
- 精品解析:北京市东直门中学2024届高三考前练习数学试卷(解析版).docx
- 2020版 沪科技版 高中生物学 选择性必修1 稳态与调节《第2章 人体的神经调节》大单元整体教学设计[2020课标].docx
文档评论(0)