6.2.1 使用事务教学课件中职 数据库基础及应用.ppt
-
资源ID:90820115
资源大小:4.04MB
全文页数:23页
- 资源格式: PPT
下载积分:20金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
6.2.1 使用事务教学课件中职 数据库基础及应用.ppt
6.2.1 使用事务 教学课件 高教版 中职 数据库基础及应用使用事务新 课 导 入1.你知道怎样把一组数据管理的SQL命令作为一个整体来处理吗?2.作为一个整体的若干命令,它们的执行有何特点?新 课 导 入select mcname,tcost from member where mcname like 李%;begin;update member set tcost=tcost-2000 where mcname=李双;update member set tcost=tcost+2000 where mcname=李去;rollback;select mcname,tcost from member where mcname like 李%;学 习 目 标 1.能描述事务的概念;2.知道使用事务的格式和使用要求;3.知道事务的提交和回滚是如何实现;4.能描述事务的特性。新 课 教 学活动1 执行事务保证数据的一致性新 课 教 学1按图6-6和图6-7所示为两个会员之间转让消费总额的两种数据处理方式,请对比分析后完成后面的内容。新 课 教 学新 课 教 学(1)分析图6-6所示的把会员李双的消费总额转让2 000元给李云的数据操作,你认为这笔数据处理结束后,数据是否保持了一致状态?为什么?(2)图6-7所示的方法与图6-6所示的方法有何不同?这种数据处理方法能保证数据的一致性吗?新 课 教 学(3)试一试,把图6-7中第2个更新操作的 where子句中的“李去”改为数据表中存在的“李云”执行,此时,查询他们俩的消费总额情况并记录下来。再运行MySQL新建一个客户连接会话,在新会话中查询他们俩的消费总额情况也记录下来,然后对比两次查询结果,它们相同吗?为什么会这样?新 课 教 学(4)切换到原来的连接,执行commit命令后,查询他们的消费总额情况并记录,再次在新会话中查询他们的消费总额情况并记录,这次两者的对比结果是怎样的?为什么会这样?新 课 教 学执行事务:begin;SQL 语句组commit l rollback|;使用说明:lbegin:启动一个事务。lSQL 语句组:执行某一数据管理业务的一组SQL 语句lcommit:提交事务,即确认SQL 语句组中所有SQL 语句的执行结果,数据转换到新的一致状态。lrollback:回滚事务,即撤销已执行的SQL 语句对数据产生的影响,恢复到事务执行前的数据状态。新 课 教 学 默认情况下,所有单独的SQL语句一旦执行就被立即提交,除非把它置于 begincommit定义的事务中。全局变量autocommit控制SQL语句执行后的提交行为。要禁用自动提交可执行set autocommit=off;语句。数据定义语言(DDL)中的SQL语句总是默认提交且不能回滚的。新 课 教 学 在事务的SQL语句中可以用命令savcpoint 保存点名设置事务保存点,如果后续sQL语句执行失败需要回滚时,执行rollback to 保存点名命令回滚到指定的保存点,而不至于中止事务。新 课 教 学活动2 事务的特性新 课 教 学1.研究事务的特性,执行图6-6和图6-7程序(1)通过事务的执行,总结事务具有的四大特性。(2)在MySQL中是不是所有的存储引擎都支持事务?新 课 教 学l 原子性:指事务中的所有SQL语句要么全部成功执行,要么全部执行失败,不存在部分SQL语句成功执行的情况。l 一致性:指事务成功执行后使数据从之前的一致状态转变到其后的一致状态。事务执行不成功时,则应撤销已执行的SQL语句,恢复到事务执行前的状态。l 隔离性:指事务并发操作时,不应让数据处于不一致的状态。每个事务相互隔离,就像只有一个事务在执行一样。l 持久性:指不论发生什么故障,数据都会永久保存在外存上而不会丢失。新 课 教 学2研究事务的提交(1)提交事务的原理是什么?(2)提交事务后的状态是什么?新 课 教 学(1)redo日志 事务执行时所有更新操作行为写入内存中的redo日志缓冲区,并定时写入redo日志文件。执行commit命令时,使用日志缓冲区的内容实际更新相关的数据表,同时也把redo缓冲区内容写入redo日志文件中。redo日志也称为事务日志,对应的磁盘文件是ib_logfileO、ib_logfile1等。新 课 教 学3研究事务的回滚(1)回滚事务运用了什么日志。(2)回滚事务与提交事务有什么联系。新 课 教 学(2)undo日志 在事务开始时,把相关数据表中的内容复制到内存中的undo缓冲区中,当更新操作失败,执行rollback回滚事务,则使用undo缓冲区中的内容恢复事务开始前的状态。undo缓冲区的内容定时存储在对应数据表的ibd数据文件中。学 习 评价1 _是指一组实现数据管理的SQL语句,它们要么一起成功执行,要么一起执行失败。2事务具有_、一致性、隔离性和_四大特性,简称_。3_指不论发生什么故障,数据都会永久保存在外存上而不会丢失。4begin:_。5在事务的SQL语句中可以用命令_保存点名设置事务保存点。6要禁用自动提交可执行_语句。课 堂 小 结1.事务是指一组实现数据管理的SQL语句,它们要么一起成功执行,要么一起执行失败。事务具有原子性、一致性、隔离性和持久性四大特性,简称ACID。2.开始事务:begin;提交事务:commit;回滚事务:rollback;3.undo日志:复制事务执行前的数据,用于在事务发生异常时回滚数据。redo日志:记录在事务执行中,每条对数据进行更新的操作,当事务提交时,该内容将被刷新到磁盘。