版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
项目名称项目五数据库编程教学内容SQL语言中操作数据库及数据库对象的命令语句,常量和变量、表达式、运算符、控制语句;常用的字符串函数、数学函数、日期和时间函数、系统函数;存储过程和存储函数的操作如创建、调用、查看、修改、删除等;触发器的创建和管理,事务控制,在事务中使用锁。授课时间授课学时教学目标学习目标1.了解SQL语言的语法规范、常量和变量的定义、过程控制语句。2.熟悉游标、存储过程和函数的定义及其应用场景。3.掌握触发器、事务及锁的定义和它们的应用场景。技能目标1.会使用SQL语言进行简单的程序设计。2.会根据使用场景选择SQL函数完成数据库中的数据统计、数据分析等操作。3.会编写具有简单功能的存储过程和函数。4.会根据实际应用场景编写简单的触发器、事务脚本。5.会合理使用锁机制,以实现并发事务的控制。素养目标1.尊重知识产权,遵纪守法,具备公民意识。2.合理使用资源,养成节俭习惯。3.在学会使用数据库编程的同时,养成团结合作的意识。学情分析通过对本项目的学习,了解SQL语言中操作数据库及数据库对象的命令语句;熟悉常用的字符串函数、数学函数、日期和时间函数、系统函数;掌握存储过程和存储函数的操作,触发器的创建、管理,以及事务控制。学习数据库编程有助于帮助学生加深对数据库的理解,有助于后续课程的深化学习。教学方法学生通过课前预习、查阅资料,课堂上紧跟着老师的思路,对老师的演示要熟记,课后练习提升、反思总结等方法进行本章节的学习,有电脑条件的学生可以根据在课堂上所学习的内容,反复的操作实践验证;实训课上要加强训练,不懂的问题及操作过程,及时的向老师询问或是同学之间相互讨论。教学媒介教材、配套的PPT课件、多媒体教案等 教学过程教学环节教学内容教学引入MariaDB虽然有各种便捷的图形界面,但各种功能的实现基础仍然是SQL语言,只有SQL语言可以直接和数据库进行交互。教授新知一、明确教学目标二、教学内容“数据库编程”5.1SQL编程基础5.1.1SQL语言基础SQL语言中基本语法和流程语句的构成,主要包括常量和变量、表达式、运算符、控制语句等。1.常量和变量(1)常量。十进制整型常量、十六进制整型常量、实型常量、字符串常量、日期常量、布尔常量、位字段值、NULL值(2)变量。变量就是在程序执行过程中,值是可以改变的量。①全局变量和会话变量。②用户变量。用户变量指的是用户自己定义的变量。③局部变量。作用范围是在BEGIN...END语句块中。2.运算符(1)算术运算符。(2)比较运算符。(3)逻辑运算符。(4)位运算符。(5)运算符的优先级。3.SQL流程控制语句(1)BEGIN...END语句块。语法格式:[begin_label:]BEGIN[statement_list]END[end_label];(2)IF...ELSE条件语句。语法格式:IF<表达式>THENstatement_list[ELSEIF<表达式>THENstatement_list]...[ELSEstatement_list]ENDIF;(3)CASE分支语句。①简单格式。②搜索格式。(4)循环语句。在SQL语言中主要有三个标准的循环方式:LOOP、REPEAT和WHILE。①LOOP循环。②REPEAT循环。③WHILE循环。4.条件和处理程序的定义(1)定义条件。(2)定义处理程序。5.注释(1)单行注释。①在行前使用#。②在行前使用--(2)多行注释。使用/∗∗/注释。5.1.2常用函数1.字符串函数字符串函数用于控制字符串返回满足用户需求的位置,这些功能仅用于字符型数据。ASCII(char)、LENGTH(s)、CHAR_LENGTH(s)、CONCAT(s1,s2,...)、UPPER(s)、CONCAT_WS(sep,s1,s2,...)、INSERT(s1,x,len,s2)、LOWER(s)、LEFT(s,n)、TRIM(s)、RIGHT(s,n)等2.数学函数 常用的数学函数有:ABS(x)函数、FLOOR(x)函数、CEILING(x)函数、GREATEST()函数、LEAST()函数、ROUND(x)函数、TRUNCATE(x,y)函数、RAND()函数、RAND(x)函数、SQRT(x)函数、MOD(x,y)函数3.日期和时间函数 常用日期和时间函数的操作有:CURDATE()函数、CURTIME()函数、DATE_ADD()函数、DATE_SUB()函数、DAYOFWEEK(d)函数、DAYOFMONTH(d)函数、DAYOFYEAR(d)函数、HOUR(t)函数、MINUTE(t)函数、SECOND(t)函数、⑤NOW()函数、DATEDIFF()函数、4.系统函数 常用的系统函数:DATABASE()函数、USER()函数、VERSION()函数、CHARSET(str)函数、COLLATION(str)函数5.1.3游标1.声明游标2.游标操作(1)打开游标。语法格式:OPENcursor_name;(2)检索游标。语法格式:FETCHcursor_nameINTOvar_name[,var_name,...];(3)关闭游标语法格式:CLOSEcursor_name;5.2存储过程和存储函数5.2.1熟悉存储过程和存储函数1.存储过程和存储函数的优缺点存储过程和存储函数的优缺点存储过程和存储函数的缺点。2.存储过程和存储函数参数存储过程和存储函数能接受输入参数,并把参数返回给调用方。参数传递信息的关键字:5.2.2创建存储过程和存储函数1.创建存储过程(1)使用CREATEPROCEDURE语句创建存储过程,语法格式:CREATE[ORREPLACE][DEFINER={user|CURRENT_USER|role|CUR-RENT_ROLE}]PROCEDUREsp_name([proc_parameter[,...]])[characteristic...]routine_body使用ORREPLACE子句,判断将要创建的存储过程是否存在。DEFINER子句指定存储过程执行时,检查权限所使用的上下文。sp_name参数表示创建的存储过程的名称proc_parameter允许使用空参数列表,如果给定了参数,则参数名不区分大小写。routine_body部分包含有效的SQL语句。2.创建存储函数(1)使用CREATEFUNCTION语句创建存储函数。使用CREATEFUNCTION语句,必须要具备CREATEROUTINE权限。语法格式:CREATE[ORREPLACE][DEFINER={user|CURRENT_USER|role|CUR-RENT_ROLE}][AGGREGATE]FUNCTION[IFNOTEXISTS]func_name([func_parameter[,...]])RETURNStype[characteristic...]RETURNfunc_body(2)利用HeidiSQL图形界面创建存储函数。利用HeidiSQL图形界面创建存储函数的步骤与创建存储过程相似。3.调用存储过程和存储函数存储函数的调用与MariaDB内部函数的调用方式相同。(1)在HeidiSQL图形界面调用存储过程和存储函数。利用HeidiSQL图形界面调用存储过程和存储函数的方法非常简单。(2)使用SQL语句调用存储过程和存储函数。①调用存储过程。②调用存储函数。5.2.3管理存储过程和存储函数1.查看存储过程和存储函数(1)利用SHOWSTATUS语句查看。语法格式:SHOW[PROCEDURE|FUNCTION]STATUS[LIKE‘pattern’];(2)利用SHOWCREATE语句查看。语法格式:SHOWCREATE[PROCEDURE|FUNCTION]<sp_name|func_name>;(3)从information_schema.ROUTINES数据表查看存储过程或存储函数的信息。SELECT∗FROMinformation_schema.ROUTINES2.修改存储过程和存储函数语法格式:ALTER[PROCEDURE|FUNCTION]<sp_name|func_name>[characteristic...];3.删除存储过程和存储函数使用DROP语句可以删除存储过程或存储函数,语法格式:DROP[PROCEDURE|FUNCTION][IFEXISTS]<sp_name|func_name>;5.3触发器、事务和锁5.3.1触发器1.创建触发器触发器(Trigger)是特殊的存储过程,它基于一个数据表创建。(1)利用SQL语句创建触发器。语法格式:CREATE[ORREPLACE][DEFINER={user|CURRENT_USER|role|CUR-RENT_ROLE}]TRIGGER[IFNOTEXISTS]trigger_nametrigger_timetrigger_eventONtbl_nameFOREACHROW[{FOLLOWS|PRECEDES}other_trigger_name]trigger_stmt(2)利用HeidiSQL图形界面创建触发器。2.管理触发器(1)查看触发器。①用SHOWTRIGGERS语句查看触发器信息。语法格式:SHOWTRIGGERS;②在information_schema.TRIGGERS数据表中查看触发器的信息。(2)删除触发器。语法格式:DROPTRIGGER[db_name.]trigger_name;如:删除触发器tr_update_sno。DROPTRIGGERteaching_management.tr_update_sno;(3)利用HeidiSQL图形界面管理触发器。5.3.2事务1.事务的特性原子性、一致性、隔离性、持久性2.事务分类扁平事务、带有保存点的扁平事务、链式事务、嵌套事务、分布式事务3.事务控制开始事务、提交事务、回滚事务5.3.3锁1.并发操作引起的问题(1)丢失更新;(2)脏读;(3)不可重复读;(4)幻象读2.事务隔离级别四个隔离级别的特性3.锁机制(1)表级锁定。①读锁②写锁(2)行级锁定。(3)页级锁定。4.死锁处理锁是多个用户能够同时操作同一个数据库中的数据而不发生数据不一致现象的重要保障,但封锁的方法可能引起活锁和死锁等问题。(1)活锁。避免活锁的方法是采用先来先服务的策略。(2)死锁。解决死锁问题的方法主要有两类:一类方法是采取一定措施来预防死锁的发生;另一类方法是允许发生死锁,采用一定手段定期诊断系统中有无死锁,若有,则解除。课堂小结本项目主要讲述了:(1)SQL语言中操作数据库及数据库对象的命令语句,SQL编程的基本语法和语句块的构成。(2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广告牌制作合同书签订注意事项
- 1 《社会历史的决定性基础》 任务式公开课一等奖创新教案统编版高中语文选择性必修中册
- 二手设备买卖协议书案例
- 抵押反担保合同争议解决途径
- 民间借贷偿还协议书范例
- 信息管理系统安全协议
- 摩托车购买合同书范本
- 2024年公益捐赠合同书
- 无偿借用车辆的租赁协议
- 股东协议代签的法律风险与防范措施
- 【高中语文】《逻辑的力量》课件+统编版++选择性必修上册
- 项目物资管理员培训交底总结
- 青光眼PPT课件完整版
- 快速消费品制造行业概述
- 法院诉讼指定监护人申请书
- 类风湿性关节炎综述4572
- 机关事业单位公文写作培训-课件
- 住院医师规范化培训临床小讲课指南(2021年版)
- 《旅游管理信息系统》课程教学
- 乡村医生健康教育培训讲稿课件
- 执行实务一百问
评论
0/150
提交评论