网站大量收购闲置独家精品文档,联系QQ:2885784924

《数据库技术及应用(MySQL)》课件 第9章 事务与锁.pptx

《数据库技术及应用(MySQL)》课件 第9章 事务与锁.pptx

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

;

实际操作中常常是多个用户共享数据库。而当多个用户访问同一份数据时,一个用户在更改数据的过程中可能有其他用户同时发起更改请求,为了保证数据的更新从一个一致性状态变更为另一个一致性状态,有必要引入事务的概念。事务是由一系列数据操作命令组成,是数据库应用程序的基本逻辑操作单元。锁机制用于对多个用户进行并发控制。;学习要点

理解事务的概念

掌握事务的基本操作

理解事务的并发处理的概念

理解锁机制的概念

;学习内容

9.1事务

9.2事务的并发处理

9.3锁

;事务(transaction)是由作为一个逻辑单元的一条或多条SQL语向组成的,在同一个事务当中,这些操作最终要么全部执行成功,要么全部失败,不会存在部分成功的情况。其作用是作为整体永久地修改数据库的内容,或者作为整体取消对数据库的修改。

事务是数据库程序的基本单位,一般地,一个程序可以包含多个事务。数据存储的逻辑单位是数据块,数据操作的逻辑单位是事务。事务通常可以包括多条更新操作(INSERT、UPDATE和DELETE语句),这些更新操作是一个不可分割的逻辑工作单元。;9.1.1事务特性

事务被定义为一个逻辑工作单元,是一组不可分制的SQL语句。数据库理论对事务有很严格的定义,指明事务有4个基本特性。

1.原子性

2.一致性

3.隔离性

4.持久性;9.1.2事务控制语句

事务的基本操作包括开始、提交、撤销、保存等。

1.开始事务

开始事务可以使用STARTTRANSACTION语句来显式地启动一个事务;另外,当一个应用程序的第一条SQL语句或者在COMMIT或ROLLBACK语句后的第一条SQL语句执行后,一个新的事务也就开始了。语法格式如下。

STARTTRANSACTION|BEGINWORK

;9.1.2事务控制语句

2.提交事务

COMMIT语句是提交语句,它使从事务开始以来所执行的所有数据修改都将成为数据库的永久部分,其也标志着一个事务的结束。语法格式如下。

COMMIT[WORK][AND[NO]CHAIN][[NO]RELEASE]

;9.1.2事务控制语句

3.撤销事务

撤销事务可以使用ROLLBACK语句,该语句可以撤销事务对数据所做的修改,同时可以结束当前事务。语法格式如下。

ROLLBACK[WORK][AND[NO]CHAIN][[NO]RELEASE]

;9.1.2事务控制语句

4.设置保存???

ROLLBACK语句除了可以撤销整个事务之外,还可以用来使事务回滚到某个点,在这之前需要使用SAVEPOINT语句来设置保存点。语法格式如下。

SAVEPOINTsavepoint_name

ROLLBACKTOSAVEPOINT语句可以使事务回滚到已命名的保存点。如果在保存点被设置之后当前事务对数据进行了更改,则这些更改会在回滚时被撤销。语法格式如下。

ROLLBACK[WORK]TOSAVEPOINTsavepoint_name

;9.1.2事务控制语句

【例9-1】创建trans数据库和customer表,在表中插入记录后,开始第1个事务,更新表的记录,提交第1个事务;开始第2个事务,更新表的记录,回滚第2个事务。执行过程如下。

(1)查看MySQL的隔离级别。

(2)创建trans数据库和customer表,并在表中插入记录。

(3)开始第一个事务,更新表的记录,然后提交第一个事务。

(4)开始第2个事务,更新表的记录,然后回滚第2个事务。;为了处理并发事务中可能出现的脏读、不可重复读、幻读等问题,数据库实现了不同级别的事务隔离,以防止事务的相互影响。基于ANSI/ISOSQL规范,MySQL提供了4种事务隔离级别。

1.未提交读

2.提交读

3.可重复读

4.可串行化

;学习内容

9.1事务

9.2事务的并发处理

9.3锁

;为了处理并发事务中可能出现的脏读、不可重复读、幻读等问题,数据库实现了不同级别的事务隔离,以防止事务的相互影响。基于ANSI/ISOSQL规范,MySQL提供了4种事务隔离级别。

1.未提交读

2.提交读

3.可重复读

4.可串行化

;学习内容

9.1事务

9.2事务的并发处理

9.3锁

;锁是计算机协调多个进程或线程并发访问某一个资源的机制,在数据库中,除传统的计算资源(CPU、RAM、I/O)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。

多用户并发访问数据库时,不仅需要通过事务机制,还需要通过锁来避免数据在并发操作过程中引起问题。锁是防止其他事务访问指定资源的手段,它是实现

文档评论(0)

lai + 关注
实名认证
内容提供者

精品资料

版权声明书
用户编号:7040145050000060

1亿VIP精品文档

相关文档