《新编数据库技术-MySQL》电子教案 第8章 数据库复用与存储自动化_第1页
《新编数据库技术-MySQL》电子教案 第8章 数据库复用与存储自动化_第2页
《新编数据库技术-MySQL》电子教案 第8章 数据库复用与存储自动化_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《新编数据库技术--MySQL》教案(学期名称)第17-18讲授课日期授课班级教案主题数据库复用与存储自动化学时分配(线下课程,本单元学时数)4(混合式课程,线上/线下学时数)4主讲教师(本单元授课教师,可以多人)教学目标理解存储过程和函数的定义及区别,能阐述封装复用思想在SQL层面的体现。

掌握存储过程的创建、调用、删除操作,能使用IN/OUT/INOUT参数设计带参存储过程。

掌握自定义函数的开发方法,能根据业务需求设计返回单值的计算逻辑。

理解游标作用,能使用DECLARE/FETCH/CLOSE语句实现结果集逐行处理。

掌握触发器的创建与使用,能设计BEFORE/AFTER类型触发器保障数据一致性。

能综合运用存储过程、函数、游标和触发器实现图书借阅管理系统核心功能。

教学重点1.存储过程与函数的区别

解决方案:通过案例8.2构建对比表,从返回值(函数必须RETURN)、参数模式(存储过程支持IN/OUT/INOUT)、调用方式(CALLvsSELECT)三个维度进行对比教学,结合图书馆借阅统计场景演示实际应用差异。

2.游标遍历结果集的实现

解决方案:基于案例8.7的借阅记录处理场景,采用四步教学法:声明游标(DECLAREdurationCURSOR)→打开游标(OPEN)→FETCHINTO循环→CLOSE释放资源,配合流程图展示指针移动过程。

3.触发器的事件触发机制

解决方案:以案例8.9的学生表操作为例,设计BeforeInsert(数据校验)和AfterUpdate(日志记录)双场景实验,通过MySQLWorkbench的触发器监控面板实时展示触发顺序。

教学难点1.存储过程参数模式的实际应用

解决方案:设计交互式实验,让学生通过修改案例8.3中的IN参数(图书索书号)、OUT参数(返回ISBN)、INOUT参数(更新借阅时间),观察变量值变化,配套提供参数传递流程图解。

2.游标与异常处理的结合

解决方案:扩展案例8.8,增加DECLARECONTINUEHANDLERFORNOTFOUND异常处理逻辑,通过调试模式展示当游标遍历至最后一条记录时的状态变化,对比有无异常处理的执行差异。

3.触发器与事务的协同

解决方案:基于案例8.10设计图书归还事务场景,在触发器中嵌入事务回滚逻辑,模拟并发归还场景下的数据一致性问题,通过错误日志分析事务隔离级别对触发器的影响。

教学设计思路采用"问题驱动-案例实操-系统集成"的三阶教学模式,以图书借阅管理系统为主线贯穿始终。

第一阶段(基础认知):通过图书馆日常操作(如图书状态查询)引出存储过程必要性,对比传统SQL与封装式代码的复用差异,建立模块化编程思想。

第二阶段(技能训练):按"存储过程与函数→游标→触发器"顺序展开,每个知识点均采用"语法速查+案例实施+错误分析"三步教学:先通过语法模板建立规范认知,再以案例8.1-8.11为蓝本进行实操,最后针对常见错误(如函数缺少DETERMINISTIC声明)进行专题讲解。

第三阶段(综合应用):设计"图书归还自动化处理"综合项目(参考问计AI综合题),要求学生组合使用带事务的存储过程、状态判断函数、批量处理游标及数据同步触发器,完成从需求分析到代码实现的全流程训练。

教学工具采用MySQLWorkbench+Navicat数据可视化,通过断点调试功能展示存储过程执行流程,配合思维导图梳理知识点关联(如第8章思维导图)。教学过程1.导入环节(15分钟)

展示图书馆手动处理借阅的业务流程图,提出三个问题:如何减少重复SQL编写?怎样自动计算借阅时长?如何保证图书状态与借阅记录一致?引出本章四大核心技术:存储过程(代码复用)、函数(计算逻辑)、游标(逐行处理)、触发器(事件响应)。

2.存储过程与函数(60分钟)

基础操作:演示案例8.1创建select_status存储过程,重点讲解DELIMITER分隔符切换(解决分号冲突)和IFEXISTS安全删除。通过案例8.2的select_barcode函数,对比存储过程(CALL调用)与函数(SELECT调用)的语法差异。

参数应用:以案例8.3的return_ISBN存储过程为例,设计参数传递实验:学生输入不同索书号(IN参数),观察OUT参数返回的ISBN变化,分析INOUT参数在return_time过程中如何同时接收和返回时间值。

3.游标(45分钟)

基础操作:基于案例8.7的借阅记录表(tb_record),演示DECLARE定义游标、OPEN打开、CLOSE关闭的基础流程,通过Workbench的执行计划面板展示游标执行效率。

高级应用:改造案例8.8实现借阅时长计算,增加REPEAT循环和FETCHINTO变量赋值,重点讲解CONTINUEHANDLER异常处理机制,对比添加前后的执行结果差异。

4.触发器(40分钟)

创建与使用:参考案例8.9创建inf_tri日志表,分别实现AFTERINSERT(记录新增)和BEFOREDELETE(数据备份)触发器,通过INSERT/DELETE测试数据观察inf_tri表变化。

综合实验:设计图书借阅触发场景:当插入借阅记录时,自动触发存储过程更新图书状态,要求学生分析案例8.10中BEFORE与AFTER触发器的执行顺序。

5.课堂小结与答疑(20分钟)

通过本章思维导图回顾知识点关联,现场解答学生在案例实操中遇到的共性问题(如函数创建1418错误、触发器权限问题),布置阶段性任务:完善案例8.11的触发器管理功能。

课后作业与评价1.基础作业(40%)

(1)完善案例8.6的CountBookBySID存储过程,增加借阅状态筛选参数(已归还/在借),要求使用IF条件判断。

(2)基于案例8.4创建函数get_book_status,输入索书号返回'可借阅'/'已借出'/'超期'状态,需包含DATEDIFF计算超期天数。

2.综合项目(60%)

设计图书借阅自动化系统,需实现:

(1)存储过程:borrow_book(INstu_num,INbarcode),包含库存检查、借阅记录插入、状态更新功能

(2)触发器:在借阅记录删除时自动更新图书状态并记录日志

(3)游标应用:批量生成超期未还提醒(遍历tb_record计算超期天数)

提交要求:包含完整SQL代码、执行截图、300字技术文档(说明各模块设计思路)

3.评价标准

(1)功能完整性(30%):是否实现所有需求功能

(2)代码规范性(20%):命名规范、异常处理、注释完整性

(3)性能优化(20%):是否避免全表扫描(如案例8.11索引设计)

(4)创新性(30%):额外功能(如借阅排行榜函数、权限控制触发器等)

总结与反思1.教学效果评估

通过课堂提问发现,学生对存储过程的参数传递和触发器的事件类型掌握较好,但在游标与事务结合场景中存在理解困难。后续需增加并发场景模拟训练,强化事务隔离级别对存储自动化的影响认知。

2.教学改进方向

(1)技术工具:引入MySQLDebugger插件,实时展示存储过程执行栈,解决学生对游标指针移动的抽象理解问题

(2)案例扩展:增加电商订单处理等跨领域案例,突

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论