您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 电子设计/PCB > 第6章事务与存储过程—教学设计
博学谷——让IT教学更简单,让IT学习更有效传智播客《MySQL数据库入门》教学设计课程名称:MySQL数据库入门授课年级:2014年级授课学期:2014学年第一学期教师姓名:某某老师2014年09月09日博学谷——让IT教学更简单,让IT学习更有效课题名称第6章事务与存储过程计划学时8课时内容分析在数据库开发过程中,经常会为了完成某一功能而编写一组SQL语句。为了确保每一组SQL语句所做操作的完整性和重用性,MySQL中引入了事务和存储过程,本章将针对事务与存储过程进行详细地讲解。教学目标及基本要求1、了解事务的概念,会开启、提交和回滚事务2、掌握事务的四种隔离级别3、学会创建存储过程4、掌握调用、查看、修改和删除存储过程教学重点1、事务的开启、提交和回滚2、事务的四种隔离级别3、存储过程的创建和使用教学难点1、事务的隔离级别2、变量的使用3、定义条件和处理程序4、光标的使用5、流程控制的使用教学方式讲师课堂教学要以PPT讲授为主,并结合多媒体进行教学教学过程第一课时(事务管理)一、创设情境,导入事务的概念(1)教师提出需求,引出事务在现实生活中,我们经常会进行转账操作,转账可以分为两部分来完成,转入和转出,只有这两个部分都完成才认为转账成功,在数据库中,这个过程是使用两条语句来完成的,如果其中任意一条语句出现异常没有执行,则会导致两个账户的金额不同步,造成错误。如何防止上述情况的发生呢?为此MySQL中引入了事务,它可以使整个系统更加安全,保证在同一个事务中的操作具有同步性。(2)明确学习目标1、要求学生了解什么事务以及事务的四个特性2、要求学生掌握如何开启、提交和回滚事务。二、进行重点知识的讲解(1)什么是事务?博学谷——让IT教学更简单,让IT学习更有效教师讲解事务的概念,所谓的事务就是针对数据库的一组操作,它可以由一条或多条SQL语句组成,同一个事务的操作具备同步的特点,如果其中有一条语句无法执行,那么所有的语句都不会执行,也就是说,事务中的语句要么都执行,要么都不执行。教师讲解事务管理中涉及到的事务开启、提交和回滚操作,给出各自的SQL语句并解释。为了简单演示事务的三个操作,教师首先创建一个名为chapter06的数据库,在库中建立account表并插入相应数据,接着通过一个具体的案例演示先开启一个事务,再通过UPDATE语句将a账户的100元钱转给b账户,最后提交事务(可参见教材例6-1)。在讲解完成之后,教师让学生默写出事务开启、提交和回滚操作的SQL。教师讲解事务的四个特性,即原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability),并分别解释各个特性的含义。(2)如何提交事务?教师讲解提交事务相当于是事务中的用户确认操作,当用户确认提交后,事务中的操作才会执行成功,这个过程是手动提交的过程。为了说明事务的提交方式为手动提交,通过一个具体的案例来演示开启事务不提交退出、开启事务提交两种情况,并比较两种情况的执行结果。(3)如何回滚事务?教师首先讲解为什么要回滚事务,例如在操作一个事务时,如果发现当前事务中的操作是不合理的,此时只要还没有提交事务,就可以通过回滚来取消当前事务。然后通过一个具体的案例演示事务的回滚操作,开启一个事务,通过update语句将a账户的100元钱转给b账户,但是不提交,而是执行ROLLBACK语句将事务回滚,查看回滚操作后的结果。三、归纳总结,随堂练习,布置作业(1)对课堂上讲解的知识点进行总结,使用博学谷系统中的随堂练习题巩固本节课的知识点。(2)使用博学谷系统中的测试题给学生布置作业。博学谷——让IT教学更简单,让IT学习更有效第二课时(事务的隔离级别)一、回顾上节课内容,继续讲解事务的隔离级别(1)对上节课留的作业进行答疑。(2)回顾总结上节课的内容,引出本节课主题上节课讲解了事务的概念以及事务的开启、提交和回滚操作。本节课将讲解事务的隔离级别,在MySQL中,事务有四种隔离级别,分别是READUNCOMMITTED(读未提交)、READCOMMITTED(读提交)、REPEATABLEREAD(可重复读)、SERIALIZABLE(可串行化)。(3)明确学习目标要求学生知道事务有哪4种隔离级别,掌握这4种隔离级别各自的特点,了解脏读、幻读、不可重复读等问题的产生。二、进入重点知识点的讲解(1)脏读教师讲解什么是脏读,所谓脏读就是指一个事务读取了另外一个事务未提交的数据。教师通过一个具体的案例演示脏读问题的发生。首先开启两个命令行窗口分别模拟a账户和b账户,然后将B账户中事务的隔离级别设置为READUNCOMMITTED(读未提交),在事务中进行转账操作并提交,最后查看是否出现脏读。作为比较,再将B账户中事务的隔离级别设置为readcommited(读提交),然后在事务中进行转账操作并提交,查看是否出现脏读。(2)不可重复读(NON-REPEATABLEREAD)教师讲解什么是不可重复读,所谓的不可重复读是指事务中两次查询的结果不一致,原因是在查询的过程中其他事务做了更新的操作。教师首先应给学生演示发生的不可重复读现象,然后将事务的隔离级别改为REPEATABLEREAD(可重复读),最后验证不可重复读是否仍然出现。(3)幻读(PHANTOMREAD)教师讲解什么是幻读,所谓的幻读又被称为虚读,是指在一个事务内两次查询中数据条数不一致,幻读和不可重复读有些类似,同样是在两次查询博学谷——让IT教学更简单,让IT学习更有效过程中,不同的是,幻读是由于其他事务做了插入记录的操作,导致记录数有所增加。教师首先应给学生演示发生的幻读现象,然后将事务的隔离级别改为REPEATABLEREAD,最后验证幻读是否仍然出现。(4)可串行化(SERIALIZABLE)教师讲解什么是SERIALIZABLE,SERIALIZABLE是事务的最高隔离级别,它在每个读的数据行上加上锁,使之不可能相互冲突,因此会导致大量的超时现象。教师首先将事务的隔离级别改为SERIALIZABLE,然后给学生演示在该隔离级别下发生的可串行化现象,最后验证幻读是否仍然出现。三、归纳总结,布置作业(1)对课堂上讲解的知识点进行总结,使用博学谷系统中的随堂练习题巩固本节课的知识点。(2)使用博学谷系统中的测试题给学生布置作业。第三课时(存储过程的创建)一、回顾上节课内容,接着讲解存储过程的创建(1)对上节课留的作业进行答疑。(2)进入本节课题,讲解存储过程的创建及需要用到的变量存储过程就是一条或多条SQL语句的集合,当对数据库进行一系列复杂操作时,存储过程可以将这些复杂操作封装成一个代码块,以便重复使用,大大减少数据库开发人员的工作量。本节课将针对如何创建存储过程及创建存储过程时需要用到的变量等进行详细地讲解。(3)明确学习目标1、要求学生掌握如何创建存储过程、变量的使用2、要求学生了解如何定义条件和处理程序。二、进入重点知识点的讲解(1)如何创建存储过程?教师首先讲解创建存储过程的语法,对语法格式进行分析,然后根据语法格式,通过一个具体的案例来演示如何创建存储过程(可参见教材例6-2)。在案例演示前,教师需先做好准备工作,在chapter06数据库中创建student博学谷——让IT教学更简单,让IT学习更有效表并插入相应的数据。最后对案例进行解释,并对案例中DELIMITER语句进行详细讲解。(2)存储过程中变量的使用教师讲解存储过程中变量的作用范围,在MySQL中,变量可以在子程序中声明并使用,这些变量的作用范围是在BEGIN…END程序中。教师首先讲解存储过程中定义变量的语法格式,并对语法格式中涉及的内容进行讲解。然后根据定义变量的语法格式,编写一段示例代码。教师首先讲解存储过程中为变量赋值的语法格式,并对语法格式中涉及的内容进行讲解。然后根据定义变量的语法格式,编写一段示例代码。为变量赋值的方式,除了set之外,MySQL中还可以通过SELECT…INTO为一个或多个变量赋值,教师讲解SELECT…INTO的语法格式,并通过一个案例演示它的使用(可参见教材例6-3)。(3)定义条件和处理程序教师讲解在存储过程中定义条件,首先讲解定义条件的语法格式,对语法格式进行分析,然后通过一个具体的案例演示用两种不同的方法来定义错误(可参见教材例6-4)。教师讲解在存储过程中定义处理程序,首先讲解定义处理程序的语法格式,对语法格式进行分析,然后通过一个具体的案例演示用两种不同的方法来定义错误(可参见教材例6-5)。最后教师再通过一个定义条件和处理程序的综合案例演示如何定义条件和处理程序(可参见教材例6-6)。三、归纳总结,布置作业(1)对课堂上讲解的知识点进行总结,使用博学谷系统中的随堂练习题巩固本节课的知识点。(2)使用博学谷系统中的测试题给学生布置作业。第四课时(光标的使用、流程控制的使用)一、回顾上节课内容,继续讲解光标和流程控制的使用(1)对上节课留的作业进行答疑。(2)回顾总结上节课的内容,引出本节课主题博学谷——让IT教学更简单,让IT学习更有效上节课讲解了创建存储过程、变量的使用、定义条件和处理程序,本节课将讲解光标和流程控制的使用。(3)明确学习目标1、要求学生掌握光标的使用2、要求学生掌握流程控制语句的使用二、进入重点知识点的讲解(1)光标的使用教师首先讲解什么是光标,光标有什么作用。然后分别针对光标的声明、光标的使用、光标的关闭进行详细地讲解。讲解光标的声明时,首先提醒学生注意光标必须声明在声明变量、条件之后,声明处理程序之前。然后讲解光标的语法格式,对语法格式进行分析,最后根据语法格式编写一段示例代码,以便让学生更容易掌握。讲解光标的使用时,首先提醒学生使用光标之前首先要打开光标。然后讲解光标的语法格式,对语法格式进行分析,最后根据语法格式编写一段示例代码,以便让学生更容易掌握。讲解光标的关闭时,由于关闭的语法比较简单也很容易理解,直接写出语法格式“CLOSEcursor_name”,给学生简单解释其中的“cursor_name”表示光标名即可。(2)流程控制的使用教师首先讲解流程控制语句用于将多个SQL语句划分或组合成符合业务逻辑的代码块。MySQL中的流程控制语句包括:IF语句、CASE语句、LOOP语句、WHILE语句、LEAVE语句、ITERATE语句、REPEAT语句和WHILE语句。然后分别针对这些语句进行一一讲解,按照先讲解语法格式,再通过示例代码或案例演示的方式,在讲解的过程中,教师还应该提醒学生注意每个知识点的重点内容。三、归纳总结,布置作业(1)对课堂上讲解的知识点进行总结,使用博学谷系统中的随堂练习题巩固本节课的知识点。(2)使用博学谷系统中的测试题给学生布置作业。博学谷——让IT教学更简单,让IT学习更有效第五课时(存储过程的使用)一、回顾上节课内容(1)对上节课留的作业进行答疑。(2)进入本节课题,讲解调用和查看存储过程通过前面课时的学习,我们已经能够定义一个完整的存储过程了。使用存储过程可以使程序执行效率更高、安全性更好,增强程序的可重用性和维护性。(3)明确学习目标1、要求学生掌握如何调用、修改和删除存储过程2、要求学生了解如何查看存储过程二、进入重点知识点的讲解(1)如何调用存储过程?教师首先讲解调用存储过程的语法格式,语法格式具体如下:CALLsp_name([parameter[,…]])然后对上述语法格式进行解释说明,比如sp_name为存储过程的名称,parameter为存储过程的参数,最后通过一个案例演示存储过程的调用(可参见教材例6-12)。(2)如何查看存储过程?查看存储过程的方式有三种,具体如下:通过SHOWSTATUS语句查看存储过程的状态通过SHOWCREATE语句查看存储过程的状态从information_schema.Routines表中查看存储过程的信息在讲解查看存储过程的三种方式时,应该遵循首先讲解其语法格式,对语法格式进行详细地解释说明,然后通过具体的案例
本文标题:第6章事务与存储过程—教学设计
链接地址:https://www.777doc.com/doc-2110960 .html