《MySQL数据原理与应用》 教案全套 王金恒 第1-14章 数据库系统概论- 数据库系统的备份与还原_第1页
《MySQL数据原理与应用》 教案全套 王金恒 第1-14章 数据库系统概论- 数据库系统的备份与还原_第2页
《MySQL数据原理与应用》 教案全套 王金恒 第1-14章 数据库系统概论- 数据库系统的备份与还原_第3页
《MySQL数据原理与应用》 教案全套 王金恒 第1-14章 数据库系统概论- 数据库系统的备份与还原_第4页
《MySQL数据原理与应用》 教案全套 王金恒 第1-14章 数据库系统概论- 数据库系统的备份与还原_第5页
已阅读5页,还剩117页未读 继续免费阅读

下载本文档

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

文档简介

课程概况课程名称数据库原理及应用授课班级课程编码课程模块专业核心课考试方式开卷□闭卷R操作□答辩□论文(报告)□其它:课程学时4学时/周学分4推荐教材及参考书目序号名称作者出版社出版时间1MySQL数据库原理与应用(微课视频版)王金恒等清华大学出版社年6月授课教师职称授课时间教学目的要求数据库原理及应用是本科计算机类专业的专业必修课,是一门理论与实践结合非常紧密的课程,是JAVA、Python、WEB开发技术等课程必不可少的一门前期必修课,该课程在计算机类专业的课程体系中起着承上启下的作用。本课程讲解数据库系统开发过程中所需的数据库、工作表、视图、索引、触发器以及对数据进行增删改操作,保障数据的安全性、统一性等知识点,以“综合性、实战型”的实践项目为教学目标,引入通关式的教学模式,教学内容和实践项目从易到难,一关一关地往下走,环环相扣,不断挑战和满足学生的学习成就感。在学期初设定一个一般难度的系统作为学习效果目标,在教学大纲中拆分课程知识点对应目标系统的子功能,在每一次教学活动中创设一个真实情境(目标系统的子功能)来不断激发学生的学习热情,让学生知道“我这节课认真听了,我就能做出系统的这个效果,我就能拿我做的项目参加学科竞赛和申报项目”,从而让学习变成有激励,有目标,有动力的主动学习。教学重点难点重点:应用数据管理工具实现数据的统一管理,包括数据组织和存储,培养学生的计算思维能力;能够熟练使用SQL语句、视图、存储过程、触发器等进行应用开发。难点:通过数据库系统项目实践,掌握复杂系统的数据库设计能力,完成从概念设计,逻辑设计,物理设计过程。能够对数据库进行管理和维护,包括数据库完整性管理、安全性管理、并发控制、备份及恢复操作。理论教学教案

课次:第1-2讲课程教案授课主题第1章章节内容第1章数据库系统概论地点多媒体课室课时4教学目的与要求1.了解为什么要使用数据库;2.了解数据库的相关概念;3.熟悉常见的数据库及排名;4.了解RDBMS与非RDBMS;5.掌握数据库设计的步骤。教学重点数据库的基本概念教学难点数据库的基本概念教学方法线上线下混合教学、讲授法、讨论法、练习法、归纳法教学手段多媒体技术、超星学习通等软件教学过程课程思政元素说明:*号标注的是课程思政的融入点【课前互动】跟学生互动交流,了解学生知识基础,讲解课程目标、授课内容、考核要求等。【课程导入】首先就本门课程在专业中的特点向学生强调课程的重要性,给学生看一些以往学生做好的数据库系统,充分调动学生的学习积极性。【绪论课】1、为什么要使用数据库(1)何为数据库(2)数据库特点2、数据库与数据管理系统(1)数据库的相关概念1.数据表2.数据库3.数据库管理系统4.数据库系统(2)数据库与数据库管理系统的关系数据库管理系统(DBMS)可以管理多个数据库,一般开发人员会针对每一个应用创建一个数据库。为保存应用中实体的数据,一般会在数据库创建多个表,以保存程序中实体用户的数据,数据库管理系统、数据库和表的关系如图1.2所示。图1.2数据库系统、数据库管理系统、数据库和表的关系图数据库管理系统排名常见数据库OracleMySQLSQLServerDB2PostgreSQLSQLiteinformix3.RDBMS与非RDBMS(1)关系型数据库1.实质2.优势复杂查询可以用SQL语句方便地在一个表以及多个表之间做非常复杂的数据查询。事务支持使得对于安全性能很高的数据访问要求得以实现。(2)非关系型数据库非关系型数据库,可看成传统关系型数据库的功能阉割版本,基于键值对存储数据,不需要经过SQL层的解析,性能非常高。同时,通过减少不常用的功能,进一步提高性能。目前基本上大部分主流的非关系型数据库都是免费的。(3)常见的非关系型数据库1.键值型数据库2.文档型数据库3.搜索引擎数据库4.列式数据库5.图形数据库4.关系型数据库设计*数据库的规范化(1)信息世界的基本概念(2)数据模型(3)关系的完整性约束条件(4)关系运算讲解案例1.1查找姓王的同学的信息。讲解案例1.2查找学生表中的学号,姓名信息。讲解案例1.3查找姓王同学的学号,姓名和成绩。(5)关系型数据库设计的基本步骤按照规范设计的方法,考虑数据库及其应用系统开发全过程,将数据库设计分为以下六个阶段:*介绍国家个人信息保护法第一阶段:需求分析(用户需要分析)。第二阶段:概念结构设计(用E-R模型对现实进行描述)。第三阶段:逻辑结构设计(转换成计算机可以表达的方式:关系模型,即表)。第四阶段:物理结构设计(功能描述)。第五阶段:数据库实施(开发)。第六阶段:数据库运行和维护(应用与维护)。【本讲拓展】MYSQL与SQLServer的区别:1.操作系统支持不同。MySQL支持Windows、Linux、Unix等操作系统,它具有广泛的跨平台支持,并且可以与各种编程语言和开发工具集成,而SQLServer只支持Windows操作系统。2.数据处理方式不同。MySQL是基于行的数据处理方式,而SQLServer是基于列的数据处理方式,这可能会影响各自的性能表现。3.数据库安全性不同。SQLServer在安全性方面表现更强,例如支持强制密码策略、Windows身份验证和数据加密,而MySQL在这方面的安全性措施相对较少。【归纳总结,布置课后作业】(一)回顾上课前的学习目标,对本节课知识点进行总结。提问讲解的知识点,对存在问题进行讲解。带领学生总结为什么使用数据库、数据库管理系统、RDBMS与非RDBMS、关系型数据库设计。(二)布置随堂练习,检查学生掌握情况。根据博学谷和随堂联系资源,给学生布置随堂练习,检测学生的掌握程度,并对学生出现的问题进行解决。(三)完成超星平台的章节知识测试,以及教师发布的实践任务。通过数据库的规范化设计,可以消除数据冗余,提高数据存储和管理的效率,减少数据更新时的异常和错误,符合节约资源、保护环境的思想。介绍数据库的起源和发展历程,我国数据库系统发展及应用情况,鼓舞学生树立为振兴国产数据库软件发展而努力学习的理想。个人信息保护法是中国于2021年11月1日正式实施的全面个人信息保护的法律框架。该法律规定了个人信息的收集、存储、使用、处理和保护的要求,明确了个人信息处理者的责任和义务,保护了个人信息主体的权益。教学后记课次:第3讲课程教案授课主题第2章章节内容第2章MySQL工具的使用地点多媒体课室课时2教学目的与要求1.掌握下载MySQL社区版;2.掌握在Windows平台下安装MySQL、配置、启停、登录以及卸载;3.熟悉使用不同的图形化管理工具登录到MySQL数据库;4.通过完成课业任务学会分析问题、解决问题,提高动手操作能力。教学重点掌握在Windows平台下安装MySQL、配置、启停、登录以及卸载教学难点MySQL、配置、启停、登录以及卸载教学方法线上线下混合教学、讲授法、讨论法、练习法、归纳法教学手段多媒体技术、超星学习通等软件教学过程课程思政元素说明:*号标注的是课程思政的融入点【回顾上节课内容,继续讲解本课时的知识】(1)教师对学生们的疑问进行统一答疑。(2)回顾总结上节课内容,继续介绍本课时的内容。上节课介绍了为什么使用数据库、数据库管理系统、RDBMS与非RDBMS、关系型数据库设计。本节课介绍MySQL概述、MySQL的启动与停止、MySQL服务器的登录。【绪论课】1、MySQL概述对比之前的版本,MySQL8.0具有很多新特征,其中比较突出的新特征有:MySQL8.0版本默认字符集为utf8mb4(即最多使用4个字节来表示1个字符,可以表示更多字符,例如生僻汉字、冷门符号、emoji表情符号等)。系统数据库默认存储引擎修改为InnoDB(支持了ACID兼容的事务)。MySQL8.0支持原子数据定义语言(DDL)语句,即:InnoDB数据表上的DDL可以实现事务完整性,要么失败回滚,要么成功提交,不会出现DDL部分成功的问题。2、MySQL的下载与安装*安装成功的MySQL主要目录和文件有以下几项:bin存放可执⾏⽂件、MySQL⾃带的客户端和MySQL服务端等。Data存放数据⽂件和⽇志⽂件,本教材开发的项目“数据库学习系统”使用的数据库db_study的存放目录如图2.1所示。图2.1数据库学习系统使用的数据库db_study的存放目录docs存放⼀些⽂档。include存储包含的头⽂件,如:mysql.h、mysql_ername.h等。lib⽤于放置⼀系列库⽂件。6.share⽤于存放字符集、语言等信息。my.ini是MySQL数据库中使⽤的配置⽂件。3.MySQL服务的启动与停止(1)使用图形界面工具启动与停止MySQL服务(2)使用命令行启动与停止MySQL服务讲解案例2.1使用命令行启动与停止MySQL服务。4.MySQL服务器的登录*数据安全和隐私保护重点讲解:当MySQL服务启动完成后,便可以通过客户端来登录MySQL服务器,登录之前需要确(1)使用MySQL自带客户端登录(2)使用命令行方式登录讲解案例2.2使用命令行登录MySQL服务器。(3)使用数据库图形化管理工具管理MySQL1.Workbench2.Navicat【本讲拓展】MySQLWorkbench和Navicat的区别:1.发布和授权。MySQLWorkbench是由MySQL官方发布和授权的工具,而Navicat则是一个第三方公司开发和发布的工具。2.功能和特点。MySQLWorkbench是一款功能强大的工具,主要用于数据库设计、建模、查询、管理和系统维护等。它还提供了可视化的数据库设计工具、性能分析、备份和恢复功能等。Navicat也提供类似的功能,同时注重用户界面的友好性和易用性。3.价格。MySQLWorkbench是免费的开源工具,用户可以免费下载和使用。Navicat则为商业软件,提供了免费试用的社区版和付费的商业版,商业版提供更多高级功能和技术支持。【归纳总结,布置课后作业】(1)回顾上课前的学习目标,对本节课知识点进行总结。提问讲解的知识点,对存在问题进行讲解。带领学生总结MySQL概述、MySQL的启动与停止、MySQL服务器的登录。(2)布置随堂练习,检查学生掌握情况。根据博学谷和随堂联系资源,给学生布置随堂练习,检测学生的掌握程度,并对学生出现的问题进行解决。(3)完成超星平台的章节知识测试,以及教师发布的实践任务。强调在使用MySQL工具时,保护用户数据的重要性,讨论数据泄露和滥用的后果,以及如何采取措施确保数据的安全性和隐私保护。教学后记

课次:第5讲课程教案授课主题第3章章节内容第3章SQL语言的规则与规范地点多媒体课室课时2教学目的与要求1.掌握SQL语言的基本规则与规范;2.熟练掌握MySQL运算符的使用;3.掌握运算符的优先级;4.熟悉通过不同的工具管理MySQL;5.通过完成课业任务学会分析问题、解决问题,提高动手操作能力。教学重点1.熟练掌握MySQL运算符的使用;2.掌握运算符的优先级;3.熟悉通过不同的工具管理MySQL;教学难点运算符的优先级教学方法线上线下混合教学、讲授法、讨论法、练习法、归纳法教学手段多媒体技术、超星学习通等软件教学过程课程思政元素说明:*号标注的是课程思政的融入点【回顾上节课内容,继续讲解本课时的知识】(1)教师对学生们的疑问进行统一答疑。(2)回顾总结上节课内容,继续介绍本课时的内容。上节课介绍了使用MySQL概述、MySQL的启动与停止、MySQL服务器的登录。本节课介绍SQL的概述、SQL语言的规则与规范、运算符。【绪论课】1、SQL的概述(1)SQL的背景(2)SQL的分类1.SQL语言在功能上主要分为如下3大类:DML(DataManipulationLanguage:数据操作语言)DML数据操作语言主要用于添加、删除、更新和查询数据库记录,并检查数据完整性。主要的语句关键字包括INSERT、DELETE、UPDATE、SELECT等。其中SELECT是SQL语言的基础,最为重要。DCL(DataControlLanguage:数据控制语言)DCL数据控制语言主要用于定义数据库、表、字段、用户的访问权限和安全级别。主要的语句关键字包括GRANT、REVOKE、COMMIT、ROLLBACK、SAVEPOINT等。因为查询语句使用得非常频繁,所以把查询语句单拎出来成为一类,还有单独将COMMIT、ROLLBACK取出来成为一类,分别为如下2类:DQL(DataQueryLanguage:数据查询语言)DQL数据查询语言主要用来查询记录(数据),执行SELECT操作。数据库执行DQL语句不会对数据进行改变,而是让数据库发送结果集给客户端。TCL(TransactionControlLanguage:事务控制语言)TCL事务控制语言主要用来事务管理,如果需要在一个事务中包含多条SQL语句,那么需要开启事务和结束事务。2、SQL语言的规则与规范*(1)SQL语言的基本规则1.SQL语言可以单行或多行书写。为了提高可读性,各子句可分行写,必要时使用缩进;2.每条命令以“;”或“\g”或“\G”结尾;3.关键字不能被缩写也不能分行;4.必须保证所有的()、单引号、双引号是成对结束的;5.必须使用英文状态下的半角输入方式;6.字符串型和日期时间类型的数据可以使用单引号(’’)表示;7.列的别名,尽量使用双引号(””),而且不建议省略as。(2)SQL大小写的规范1.MySQL在Windows环境下是大小写不敏感的;2.MySQL在Linux环境下是大小写敏感的。数据库名、表名、表的别名、变量名是严格区分大小写的;关键字、函数名、列名(或字段名)、列的别名(字段的别名)是忽略大小写的。推荐采用统一的书写规范:数据库名、表名、字段名称、变量名称、视图名称、索引名称、存储名称、触发器名称等都用小写;SQL关键字、函数、数据类型等都用大写。(3)MySQL注释符注释是可用于记录SQL语句的目的或存储过程中代码块的逻辑,解析SQL代码时,MySQL会忽略注释部分,它只会执行除了可执行注释之外的SQL部分。MySQL可以使用如下三种格式的注释结构:1.单行注释:#注释文字2.单行注释:--注释文字(--后面必须包含一个空格。)3.多行注释:/*注释文字*/(4)MySQL数据库对象命名规范我们在使用MySQL数据库的时候需要遵循一定的命名规范,扬长避短。以下是MySQL数据库对象命名规范:1.数据库、表名不得超过30个字符,变量名的长度限制为29;2.命名必须只能包含A–Z,a–z,0–9,共63个字符;3.数据库名、表名、字段名等对象名中间不要包含空格;4.同一个MySQL软件中,数据库不能同名;同一个库中,表不能重名;同一个表中,字段不能重名;5.必须保证字段没有和保留字、数据库系统或常用方法冲突。如果一定要使用,则必须在SQL语句中使用`(着重号)引起来;6.保持字段名和类型的一致性,在命名字段并为其指定数据类型的时候一定要保证一致性。3.运算符(1)算术运算符比较运算符逻辑运算符位运算符运算符的优先级【本讲拓展】SQL语言的规则与规范相似的语言有以下几种:(1)PL/SQL(ProceduralLanguage/StructuredQueryLanguage):它是Oracle数据库管理系统使用的一种过程化编程语言,具有与SQL类似的语法和结构。PL/SQL可以用于编写存储过程、触发器和函数等数据库对象。(2)T-SQL(Transact-SQL):它是MicrosoftSQLServer数据库管理系统使用的一种过程化扩展SQL语言。T-SQL拓展了标准的SQL语法,提供了更多的数据库编程功能,如事务控制、条件构造、循环和异常处理等。(3)MySQLShell:MySQLShell是MySQL数据库管理系统的交互式命令行工具,支持使用JavaScript或Python脚本编写数据库管理任务。MySQLShell提供了类似于SQL的语法,并添加了一些额外的功能,如JavaScript和Python的扩展性和灵活性。【归纳总结,布置课后作业】(1)回顾上课前的学习目标,对本节课知识点进行总结。提问讲解的知识点,对存在问题进行讲解。带领学生总结SQL的概述、SQL语言的规则与规范、运算符。(2)布置随堂练习,检查学生掌握情况。根据博学谷和随堂联系资源,给学生布置随堂练习,检测学生的掌握程度,并对学生出现的问题进行解决。(3)完成超星平台的章节知识测试,以及教师发布的实践任务。教学后记课次:第6讲课程教案授课主题第4章章节内容第4章MySQL数据库管理地点多媒体课室课时2教学目的与要求1.熟练掌握数据库的创建、删除、修改操作过程;2.熟练使用不同的MySQL工具对数据库进行管理。教学重点数据的创建、修改操作过程教学难点MySQL工具对数据库进行管理教学方法线上线下混合教学、讲授法、讨论法、练习法、归纳法教学手段多媒体技术、超星学习通等软件教学过程课程思政元素说明:*号标注的是课程思政的融入点【回顾上节课内容,继续讲解本课时的知识】(1)教师对学生们的疑问进行统一答疑。(2)回顾总结上节课内容,继续介绍本课时的内容。上节课介绍了SQL的概述、SQL语言的规则与规范、运算符。本节课介绍MySQL数据库管理概述、创建和管理数据库。【绪论课】1、MySQL数据库管理概述*开源精神(1)数据库系统概述数据库系统(DatabaseSystem,简称DBS)是指在计算机应用系统中引入数据库后的系统构成。主要由硬件、OS、数据库、数据库管理系统、应用系统和数据库用户组成,用户可以通过DBMS或应用程序操作数据库。*数据的存储过程存储数据是处理数据的第一步,只有正确地把数据存储起来,才能进行有效的处理和分析。若在MySQL中想要把用户各种经营相关的、纷繁复杂的数据,有序、高效地存储起来,则一个完整的数据存储需要以下4步即可。2、创建和管理数据库(1)创建数据库*数据共享是推动社会进步和创新的重要推动力。方式1:直接创建数据库讲解案例4.1使用方式1直接创建数据库。方式2:创建数据库方式3:判断数据库是否已经存在,若不存在,则创建数据库,若MySQL中已经存在相关的数据库,则忽略该创建语句,不再创建数据库。查看数据库讲解案例4.2查看当前所有数据库。讲解案例4.3查看指定数据库的创建信息。SHOWDATABASES;(DATABASES中的S表示有多个数据库)选择当前操作的数据库讲解案例4.4查看test1数据库中的所有表。讲解案例4.5使用/切换到数据库test1。USE数据库名;修改数据库讲解案例4.6修改test1数据库的字符编码为“gbk”。删除数据库重点介绍删除数据库的操作:方式1:如果要删除的数据库存在,则删除成功;反之,则会报错方式2:如果要删除的数据库存在,则删除成功;反之,则默认结束,不会报错。通过讲解案例4.7使用方式1直接删除数据库test1来熟练删除数据库操作。【本讲拓展】与MySQL数据库管理相似的数据库管理系统包括:(1)PostgreSQL:PostgreSQL是一个开源的关系型数据库管理系统,与MySQL类似,支持多种操作系统,具有强大的功能和可扩展性。(2)OracleDatabase:Oracle是一个商业级的关系型数据库管理系统,具有广泛的功能和高性能,被广泛用于企业级应用和大型数据处理。(3)MicrosoftSQLServer:MicrosoftSQLServer是微软开发的关系型数据库管理系统,适用于Windows操作系统,具有丰富的功能和集成性。(4)SQLite:SQLite是一个嵌入式关系型数据库管理系统,它是一个轻量级的数据库引擎,适用于嵌入式设备和小型应用程序。【归纳总结,布置课后作业】(1)回顾上课前的学习目标,对本节课知识点进行总结。提问讲解的知识点,对存在问题进行讲解。带领学生总结MySQL数据库管理概述、创建和管理数据库。(2)布置随堂练习,检查学生掌握情况。根据博学谷和随堂联系资源,给学生布置随堂练习,检测学生的掌握程度,并对学生出现的问题进行解决。(3)完成超星平台的章节知识测试,以及教师发布的实践任务。MySQL作为开源软件,体现了开放共享的精神,推动了开源社区的繁荣和技术的共同进步,符合社会主义核心价值观中的共享共创理念。"数据共享是推动社会进步和创新的重要推动力。我们应该鼓励合理的数据共享和合作,促进知识的传播和共同发展。但同时,我们也要确保数据共享的合法性和道德性,保护数据的隐私和权益。"教学后记课次:第7讲课程教案授课主题第5章章节内容第5章MySQL数据表结构管理地点多媒体课室课时2教学目的与要求1.熟悉常见的MySQL数据类型、约束类型;2.掌握如何创建数据表、查看数据表的结构、修改数据表;3.通过完成课业任务学会分析问题、解决问题,提高动手操作能力。教学重点1.创建数据表;2.查看数据表的结构;3.修改数据表。教学难点掌握如何创建数据表教学方法线上线下混合教学、讲授法、讨论法、练习法、归纳法教学手段多媒体技术、超星学习通等软件教学过程课程思政元素说明:*号标注的是课程思政的融入点【回顾上节课内容,继续讲解本课时的知识】(1)教师对学生们的疑问进行统一答疑。(2)回顾总结上节课内容,继续介绍本课时的内容。上节课介绍了SQL的概述、SQL语言的规则与规范、运算符。本节课介绍数据类型、创建数据表、修改数据表、删除数据表。【绪论课】1.数据类型*"数据的真实性和可靠性是数据管理的基石,选择数据类型时,我们要牢记亚里士多德的名言:真实的数据是推动智慧和决策的基础。"MySQL数据类型介绍数据类型是指在系统中用于限制或允许该列中存储的数据。在MySQL中,数据类型主要根据数据值的内容、大小、精度来选择,给字段选择合适的数据类型对数据库的优化具有很重要的作用;反之,则可能会严重影响应用程序的功能和性能。MySQL支持多种数据类型,主要分为三种数据类型:数值、日期与时间以及字符串类型,其中数值类型又包括整数类型、浮点数与定点数类型;字符串类型包括文本字符串、二进制字符串类型。*资源节约整数类型MySQL中的整数类型分为TINYINT、SMALLINT、MEDIUMINT、INT(INTEGER)和BIGINT这5个类型。浮点数与定点数类型在MySQL中的浮点数类型主要有两种,分别单精度浮点数FLOAT和双精度浮点数DOUBLE。日期与时间类型YEAR类型DATE类型TIME类型DATETIME类型TIMESTAMP类型文本字符串类型MySQL支持的字符串类型包括文本字符串类型和二进制字符串类型,主要用来存储字符串数据,以及存储图片和声音的二进制数据。MySQL中的字符串类型主要分为CHAR、VARCHAR、TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXT、ENUM、SET等类型。二进制字符串类型二进制字符串类型主要存储二进制数据,例如可以存储图片、音频和视频等二进制数据。MySQL中支持的二进制字符串类型主要包括BIT、BINARY、VARBINARY、TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB类型。2.创建数据表约束概述创建数据表的语法格式使用非空约束使用主键约束使用外键约束使用唯一约束使用AUTO_INCREMENT自增列使用默认值约束使用检查约束查看数据表结构3.修改数据表*审慎而可靠的修改,才能铸就可追溯的数据之道重命名表讲解案例5.9修改数据表的名称。添加字段讲解案例5.10添加新的字段。修改字段讲解案例5.11修改字段的约束条件。重命名字段讲解案例5.12修改字段名称。修改字段的排列位置讲解案例5.13修改字段的排列位置。删除字段讲解案例5.14删除字段。4.删除数据表当一张数据表不再被需要时,可以将其删除掉。但是在删除表的同时,数据表的结构和表中的所有数据都会被删除,所以在删除数据表前最好先做好备份,以免造成无法挽留的损失。在MySQL中删除数据表有两种情况,一种是删除没有被关联的表,另外一种是删除被其他数据表关联的表。讲解案例5.15删除课程表。讲解案例5.16删除部门表。【本讲拓展】与MySQL数据表结构管理相似的数据库结构管理工具包括:(1)PostgreSQL:PostgreSQL是一种开源关系型数据库管理系统,与MySQL类似,提供了丰富的表结构管理功能。用户可以使用DDL(数据定义语言)语句来创建、修改和删除数据库表结构。(2)MicrosoftSQLServerManagementStudio:MicrosoftSQLServerManagementStudio是用于管理和操作MicrosoftSQLServer数据库的集成开发环境(IDE)。它提供了图形化界面,用户可以轻松地创建、修改和删除表结构,并进行索引、约束和触发器等管理操作。(3)OracleSQLDeveloper:OracleSQLDeveloper是Oracle官方提供的免费集成开发环境(IDE),用于管理Oracle数据库。它提供了直观的界面,可用于创建、修改和删除表结构,以及管理数据库对象和约束。(4)Navicat:Navicat是一个多种数据库管理工具的集合,支持MySQL、PostgreSQL、Oracle等多种数据库系统。它提供了直观的用户界面和功能强大的表结构管理工具,可用于跨多个数据库系统管理表结构。【归纳总结,布置课后作业】(1)回顾上课前的学习目标,对本节课知识点进行总结。提问讲解的知识点,对存在问题进行讲解。带领学生总结数据类型、创建数据表、修改数据表、删除数据表。(2)布置随堂练习,检查学生掌握情况。根据博学谷和随堂联系资源,给学生布置随堂练习,检测学生的掌握程度,并对学生出现的问题进行解决。(3)完成超星平台的章节知识测试,以及教师发布的实践任务。在选择数据类型时,我们应该注重数据的精确性和可持续性,不仅关注数据的规模和性能。这是因为不同的数据类型可能会对系统和用户产生不同的影响。我们应该遵循数据管理的伦理原则,确保选择的数据类型符合数据的真实性和可靠性,不误导用户或歪曲事实。选择适当的数据类型可以减少存储空间的占用,符合节约资源、保护环境的思想,推动可持续发展。在修改数据表时,我们要注重数据的一致性和完整性。任何修改都应该经过审慎考虑和充分测试,确保数据的准确性和可追溯性。我们要避免随意修改数据表,以免引起数据不一致或丢失。这是我们作为数据管理员的责任和职业道德所在。教学后记课次:第9、10、12、14、16讲课程教案授课主题第6章章节内容第6章表记录的检索(可选)地点多媒体课室课时10教学目的与要求1.了解查询功能的概念和实际作用;2.熟练使用各类型查询;3.熟练查询的实际应用。教学重点熟练使用各类型查询教学难点熟练查询的实际应用教学方法线上线下混合教学、讲授法、讨论法、练习法、归纳法教学手段多媒体技术、超星学习通等软件教学过程课程思政元素说明:*号标注的是课程思政的融入点【回顾上节课内容,继续讲解本课时的知识】(1)教师对学生们的疑问进行统一答疑。(2)回顾总结上节课内容,继续介绍本课时的内容。上节课介绍了数据类型、创建数据表、修改数据表、删除数据表。本节课介绍单表查询、函数查询、多表查询。【绪论课】1.单表查询基本查询在MySQL中使用SELECT语句来查询数据。SELECT语句是最常用的查询语句,它的使用方式有些复杂,但功能很强大。(1)基本查询语句*查询语句在国产数据库的应用案例(2)查询所有字段(3)查询指定字段(4)用DISTINCT关键字去除结果中的重复行WHERE子句讲解案例6.2查询课程表中课程学分为1和4的课程名称。ORDERBY子句讲解案例6.6查询学生表中按身高由矮到高排列的学生信息。GROUPBY子句讲解案例6.7查询班级表中每个系部有多少个班级。用LIMIL限制查询结果的数量讲解案例6.10在学生表中按学号升序排序查询第3至6条记录。2.函数查询*技术创新与社会发展MySQL函数会对传递进来的参数进行处理,并返回一个处理结果,也就是返回一个值。MySQL包含了大量并且丰富的函数,在查询中最常见的则是聚合函数。聚合函数最大的特点是它们根据一组数据求出一个值。聚合函数的结果值只根据选定行中非NULL的值进行计算,NULL值被忽略。COUNT函数讲解案例6.11查询学生表中的学生总人数。SUM函数讲解案例6.12查询成绩表中的总成绩。AVG函数讲解案例6.13查询成绩表中的平均成绩。MAX、MIN函数讲解案例6.14查询成绩表中的成绩最大值和最小值。3.多表查询*COVID-19疫情下的数据分析与隐私保护(1)连接查询1.内连接查询讲解案例6.15使用自然连接和相等连接查询学生姓名与其成绩。2.外连接方式1:左外连接讲解案例6.16使用左连接查询成绩大于60的学生姓名和成绩。方式2:右外连接讲解案例6.17使用右连接查询成绩大于60的学生姓名和成绩。3.复合条件连接查询讲解案例6.18查询每个学生所在班级。(2)子查询带IN关键字的子查询带比较运算符的子查询带EXISTS关键字的子查询带ANY关键字的子查询带ALL关键字的子查询(3)合并查询合并查询结果顾名思义是将多个SELECT语句的查询结果合并在一起。MySQL中可以使用UNION和UNIONALL关键字对查询结果进行合并。UNION关键字讲解案例6.24演示UNION关键字的使用。UNIONALL关键字讲解案例6.25使用案例6.24中的数据表演示UNIONALL关键字的使用。4.定义别名定义数据表别名首先介绍定义别名的优势讲解案例6.26使用别名重写案例6.18的SQL语句。定义字段别名讲解案例6.27为案例6.11的输出字段定义别名。5.使用正则表达式查询这里的正则表达式与Java、PHP等编程语言中的正则表达式基本一致。①语法差异:MySQL的正则表达式使用的是基于POSIX的语法,而Java的正则表达式使用的是基于Perl的语法。这意味着在表达式的写法和特定字符的含义上会有一些差异。②字符类表示法:MySQL的正则表达式中,字符类使用方括号([])表示,而Java的正则表达式中使用的是圆括号(())。例如,匹配数字的表达式在MySQL中是`[0-9]`,而在Java中是`[0-9]`。③转义字符的差异:在MySQL中,某些特殊字符不需要使用反斜杠进行转义,而在Java中,通常需要使用反斜杠对特殊字符进行转义。例如,匹配句末的句号(.)在MySQL中可以直接使用`.`,而在Java中需要使用`\.`。④支持的功能差异:MySQL的正则表达式在功能上相对较简单,不支持一些高级功能,如零宽断言、捕获组等。而Java的正则表达式提供了更丰富的功能,可以进行更复杂的模式匹配和提取操作。【本讲拓展】MYSQL中groupby和聚合函数区别:(1)SQL中只要用到聚合函数就不一定要用到groupby。聚合函数是对一组值执行计算,并返回单个值,也被称为组函数。聚合函数可以应用于SELECT查询语句的GROUPBY子句的HAVING子句中,但不可用于WHERE语句中,因为WHERE是对逐条的行记录进行筛选。(2)聚合函数要使用的话,有一个前提,那就是是必须要有结果集。(3)因此聚合函数可以在查询结果集中和having后使用,但不能在where后使用。(4)聚合函数在汇总前还可以在里面写表达式来计算字段之间的关系。【归纳总结,布置课后作业】(1)回顾上课前的学习目标,对本节课知识点进行总结。提问讲解的知识点,对存在问题进行讲解。带领学生总结单表查询、函数查询、多表查询。(2)布置随堂练习,检查学生掌握情况。根据博学谷和随堂联系资源,给学生布置随堂练习,检测学生的掌握程度,并对学生出现的问题进行解决。(3)完成超星平台的章节知识测试,以及教师发布的实践任务。“洞悉先于人,数据赢天下”,树立合法查询意识,明确哪些数据查询属于违法行为。函数查询是技术创新的一种体现,通过创新的函数设计和使用,推动技术与社会的有机结合,为社会发展带来更多的创新动力。COVID-19疫情期间,数据分析在疫情监测和决策制定中起到了重要作用。然而,这也引发了对个人隐私保护和数据使用的关注。在进行表记录检索时,我们需要平衡数据的有效利用与个人隐私的保护,遵循合法、透明和伦理的数据管理原则,确保数据的安全性和合法性。教学后记课次:第18讲课程教案授课主题第7章章节内容第7章视图与索引地点多媒体课室课时2教学目的与要求1.熟练创建视图和索引及增删改查操作;2.熟练使用数据库图形化管理工具进行视图和索引的实际操作。教学重点视图与索引的增删改查操作过程教学难点视图的应用教学方法线上线下混合教学、讲授法、讨论法、练习法、归纳法教学手段多媒体技术、超星学习通等软件教学过程课程思政元素说明:*号标注的是课程思政的融入点【回顾上节课内容,继续讲解本课时的知识】(1)教师对学生们的疑问进行统一答疑。(2)回顾总结上节课内容,继续介绍本课时的内容。上节课介绍了单表查询、函数查询、多表查询。本节课介绍视图的增删改查以及更新、索引的概念、索引的增删改查。*应用型本科院校和研究性本科院校在理解索引时的区别【绪论课】视图视图是一个虚拟表,是从数据库中的一个或多个表中导出来的表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,数据库中只存放了视图的定义,而没有存放视图中的数据。这些数据存放在原来的表中。使用视图查询数据时,数据库系统会从原来的表中取出对应的数据。因此,视图中的数据是依赖于原来的表中的数据的。一旦表中的数据发生改变,显示在视图中的数据也会发生改变。创建视图重点介绍创建的优势查看创建视图的权限讲解案例7.1查询MySQL中root用户是否具有创建视图的权限。创建视图讲解案例7.2创建视图查找学生表的全部信息,命名为view_stu。查看视图1.使用DESCRIBE语句查看视图讲解案例7.3使用DESC语句查询案例7.2创建的视图view_stu的结构。2.使用SHOWTABLESTATUS语句查看视图讲解案例7.4查看视图view_stu的信息。3.使用SHOWCREATEVIEW语句查询视图讲解案例7.5查看视图view_stu的详细定义。修改视图修改视图是指修改数据库中已存在的表的定义。当基本表的某些字段发生改变时,可以通过修改视图来保持视图和基本表之间的一致。MySQL中可以通过CREATEORREPLACEVIEW语句和ALTERVIEW语句来修改视图。讲解案例7.6将视图view_stu的字段修改为name、gender、height。讲解案例7.7修改视图view_stu以学生表为基本表。更新视图因为视图是一个虚拟表,其中没有数据,所以通过视图更新时,实际上都是在基本表中执行更新操作。更新视图是指通过视图来插入(INSERT)、更新(UPDATE)和删除(DELETE)表中的数据。但是,更新视图时,只能更新权限范围内的数据,超出了范围就不能更新。讲解案例7.8修改视图view_stu中姓黄的同学身高为0。删除视图讲解案例7.9删除视图view_stu。2.索引*搜索引擎优化(SEO)与索引的重要性索引是一种将数据库中单列或者多列的值进行排序的结构。应用索引,可以大幅度提高查询的速度,还可以降低服务器的负载。用户查询数据时,系统可以不必遍历数据表中的所有记录,而是查询索引列。一般形式的数据查询是通过遍历数据后,寻找数据库中的匹配记录而实现的。与一般形式的查询相比,索引就像一本书的目录。通过目录可以直接查询到书的某节。大大缩短了查询时间,提高了查找速度。所以,使用索引可以有效地提高数据库系统的整体性能。*可持续发展普通索引唯一索引全文索引单列索引多列索引空间索引(1)创建索引方式1:直接创建索引讲解案例7.11在test数据表中创建普通索引。方式2:修改数据表结构添加索引修改已经存在表上的索引,可以通过ALTERTABLE语句为数据表添加索引。讲解案例7.12在test数据表中添加普通索引。1.在建立数据表时创建索引2.在已建立的数据表中创建索引(2)删除索引在MySQL中,创建索引后,如果用户不再需要该索引,则可以删除指定表的索引。因为这些已经建立但不常使用的索引,一方面会占用系统资源,另一方面可能导致更新速度下降,这极大地影响了数据表的性能。讲解案例7.13删除test数据表中的索引。【本讲拓展】InnoDB的索引模型:在InnoDB中,表都是根据主键顺序以索引的形式存放的,这种存储方式的表称为索引组织表。InnoDB使用了B+树索引模型,所以数据都是存储在B+树中的。每一个索引在InnoDB里面对应一棵B+树。假设,我们有一个主键列为ID的表,表中有字段k,并且在k上有索引。这个表的建表语句是:

mysql>createtableT(

idintprimarykey,

kintnotnull,

namevarchar(16),

index(k))engine=InnoDB;【归纳总结,布置课后作业】(1)回顾上课前的学习目标,对本节课知识点进行总结。提问讲解的知识点,对存在问题进行讲解。带领学生总结视图的增删改查以及更新、索引的概念、索引的增删改查。(2)布置随堂练习,检查学生掌握情况。根据博学谷和随堂联系资源,给学生布置随堂练习,检测学生的掌握程度,并对学生出现的问题进行解决。(3)完成超星平台的章节知识测试,以及教师发布的实践任务。“数据精准到位,效率自成一派。”,引导学生理解在保护数据安全的前提下如何提高查询效率。在互联网时代,搜索引擎是人们获取信息的主要渠道之一。网站的索引优化对于提高网站在搜索引擎结果中的排名至关重要。通过创建和管理索引,我们可以提高数据库查询的效率,加快数据的检索速度,提供更好的用户体验。索引的设计和使用需要考虑可持续发展的原则,遵循资源节约和环境保护的思想,推动社会的可持续发展。教学后记课次:第20讲课程教案授课主题第8章章节内容第8章数据处理之增删改地点多媒体课室课时2教学目的与要求1.熟练使用INSERT、UPDATE和DELETE语句对数据库的数据进行增删改操作;2.熟练使用不同的MySQL工具对数据表中的数据进行增、删、改操作;3.通过完成课业任务学会分析问题、解决问题,提高动手操作能力。教学重点1.使用INSERT、UPDATE和DELETE语句对数据库的数据进行增删改操作过程;2.不同的MySQL工具对数据表中的数据进行增、删、改操作教学难点INSERT、UPDATE和DELETE语句对数据库的数据进行增删改操作过程教学方法线上线下混合教学、讲授法、讨论法、练习法、归纳法教学手段多媒体技术、超星学习通等软件教学过程课程思政元素说明:*号标注的是课程思政的融入点【回顾上节课内容,继续讲解本课时的知识】(1)教师对学生们的疑问进行统一答疑。(2)回顾总结上节课内容,继续介绍本课时的内容。上节课介绍了视图的增删改查以及更新、索引的概念、索引的增删改查。本节课介绍插入数据、更新数据、删除数据。*增删改数据的SQL语与Java语言的结合应用【绪论课】1.插入数据在建立一个空的数据表后,首先需要考虑如何向数据表中添加数据,该操作可以使用INSERT语句来完成。在MySQL中,INSERT语句有3种语法格式,分别是INSERT...VALUES、INSERT...SET和INSERT...SELECT语句。(1)通过INSERT...VALUES语句插入数据(2)通过INSERT...SET语句插入数据(3)通过INSERT...SELECT语句插入查询结果2.更新数据在数据库中,有些数据已经失去意义或者发生错误,此时需要将它们删除。在MySQL中,可以使用DELETE或者TRUNCATETABLE语句删除表中的一行或者多行数据。UPDATE[IGNORE]数据表SET字段1=值1[,字段2=值2...][WHERE条件表达式][ORDERBY...][LIMIT行数]讲解案例8.6更新系部表中的内容。[IGNORE]在MySQL中,通过UPDATE语句更新表中多行数据时,如果出现错误,那么整个UPDATE语句操作都会被取消,错误发生前更新的所有行将被恢复到它们原来的值。因此,为了在发生错误时也要继续进行更新,可以在UPDATE语句中使用IGNORE关键字。SET子句为必选项,用于指定表中要修改的字段名及其字段值。其中的值可以是表达式,也可以是该字段所对应的默认值。如果要指定默认值,可使用关键字DEFAULT。WHERE子句为可选项,用于限定表中要修改的行,如果不指定该字句,那么UPDATE语句会更新表中的所有行。ORDERBY子句为可选项,用于限定表中的行被修改的次序。LIMIT子句为可选项,用于限定被修改的行数。3.删除数据*网络欺诈与虚假信息的删除(1)通过DELETE语句删除数据DELETE[QUICK][IGNORE]FROM数据表[WHERE条件表达式][ORDERBY...][LIMIT行数]通过TRUNCATETABLE语句删除数据DELETE、TRUNCATE和DROP区别当表被TRUNCATE语句删除后,该表和索引所占用的空间会恢复到初始大小;DELETE语句操作不会减少表或索引所占用的空间;DROP语句将表所占用的空间全释放掉。1.表和索引所占空间2.应用范围3.执行速度【本讲拓展】如何理解清空表、删除表等操作:表删除操作将把表的定义和表中的数据一起删除,并目MySQL在执行删除操作时,不会有任何的确认信息提示,因此抄行删除操时应当慎重。在删除表前,最好对表中的数据进行各份,这样当操作失误时可以对数据进行恢复,以免造成无法挽回的后果。同样的,在使用ALTERTABLE进行表的基本修改操作时在执行操作过程之前,也应该确保对数据进行完整的各份,因为数据库的改变是无法撤销的,如果添加了一个不需要的字段可以将其删除;相同的,如果删除了一个需要的列,该列下面的所有数据都将会丢失。【归纳总结,布置课后作业】(1)回顾上课前的学习目标,对本节课知识点进行总结。提问讲解的知识点,对存在问题进行讲解。带领学生总结插入数据、更新数据、删除数据。(2)布置随堂练习,检查学生掌握情况。根据博学谷和随堂联系资源,给学生布置随堂练习,检测学生的掌握程度,并对学生出现的问题进行解决。(3)完成超星平台的章节知识测试,以及教师发布的实践任务。掌握增删查改才能站让数据更有价值,引导同学们在练习时养成严谨的学习态度。近年来,网络欺诈和虚假信息广泛存在,对个人和社会造成了严重的伤害。在进行数据删除操作时,我们应该审慎处理虚假信息,防止信息的误导和对用户的欺诈行为。保持数据的真实性和可靠性是维护公共信任和社会稳定的重要责任。教学后记课次:第22讲课程教案授课主题第9章章节内容第9章存储过程与游标地点多媒体课室课时2教学目的与要求1.了解存储的种类和优势;2.掌握存储过程的创建、调用、查看、修改和删除;3.了解变量的类别和使用;4.掌握基本的流程控制语句;5.通过完成课业任务,熟练掌握存储过程的知识点;6.通过不同的工具熟悉管理存储过程。教学重点1.掌握存储过程的创建、调用、查看、修改和删除;2.了解变量的类别和使用;3.掌握基本的流程控制语句。教学难点1.存储过程的创建、调用、查看、修改和删除;2.熟练基本的流程控制语句。教学方法线上线下混合教学、讲授法、讨论法、练习法、归纳法教学手段多媒体技术、超星学习通等软件教学过程课程思政元素说明:*号标注的是课程思政的融入点【回顾上节课内容,继续讲解本课时的知识】(1)教师对学生们的疑问进行统一答疑。(2)回顾总结上节课内容,继续介绍本课时的内容。上节课介绍了插入数据、更新数据、删除数据。本节课介绍存储过程概述、存储过程的创建、调用与查看、游标的使用、存储过程的修改、删除存储过程、变量类型介绍、流程控制。*人民币数字化与数字经济发展【绪论课】1.存储过程概述存储过程是一组经过预先编译的SQL语句的封装,它由声明式的SQL语句(例如DDL语句和DML语句)以及过程式的SQL语句(例如分支语句和循环语句)组成。在实际操作中,经常需要多条SQL语句处理多个表才能完成一个完整的操作。如果在客户端和服务器端频繁地传输多条SQL语句,那么将会极大地降低命令的执行效率。存储过程预先将多条SQL语句组合成一个程序并存储在MySQL服务器上。当需要执行时,客户端只需要向服务器端发出调用存储过程的命令,服务器端就可以把预先存储好的这一系列SQL语句全部执行,从而大大提高了数据处理速度。2.存储过程的创建、调用与查看在MySQL中,存储程序是用CREATEPROCEDURE语句创建的。使用CALL语句来调用存储过程,且只能使用输出变量传回值。存储过程也可以调用其他存储过程。(1)创建存储过程*C语言的经典案例求1到100的累加和讲解案例9.1创建一个存储过程。调用存储过程讲解案例9.2调用存储过程。查看存储过程1.使用SHOWSTATUS语句查看存储过程讲解案例9.3查看存储过程的状态。2.使用SHOWCREATE语句讲解案例9.4查看存储过程的定义信息。3.通过routines表查询存储过程或存储函数讲解案例9.5通过routines表查询存储过程。3.游标的使用在MySQL中,查询语句常常返回多行数据。如果数据量很大,则不能逐行处理数据。因此,在存储过程或函数中,可以使用游标来逐个读取查询结果。通过控制游标的移动,用户可以按需要查看和操作这些数据,但不能跳过任何记录。(1)声明游标(2)打开游标(3)使用游标(4)关闭游标4.存储过程的修改可以通过ALTER关键字修改已经创建的存储过程的特性。讲解案例9.7修改存储过程。5.删除存储过程可以通过DROP关键字删除存储过程。讲解案例9.8删除存储过程s_procedure。6.变量类型介绍(1)局部变量(2)用户变量(3)会话变量(4)全局变量7.流程控制每个流程中可能包含一个单独的语句,或者是使用BRGIN...END构造的复合语句。使用BEGIN...END构造复合语句时,可以进行嵌套。如果需要执行循环操作,可以使用WHILE语句和REPEAT语句来实现类似的功能。需要注意的是,MySQL语句中不支持标准的FOR循环。分支结构讲解案例9.14IF语句的使用。讲解案例9.15CASE语句的使用方法一。循环结构讲解案例9.17LOOP语句的使用。讲解案例9.18WHILE语句的使用。讲解案例9.19REPEAT语句的使用。跳转语句讲解案例9.20LEAVE语句的使用。讲解案例9.21ITERATE语句的使用。【本讲拓展】存储过程优缺点:优点:(1)执行度更快。在存储过程创的时候,数据库已经对其进行了一次解析和优化,它只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SOL语句每执行次就编译一次,所以使用存储过程可提高数据库执行速度(2)安全性商。可设定只有某此用户才具有对指定存储过程的使用权。(3)存储过程可以重复使用,可减少数据库开发人员的工作量。缺点:(1)不便于调试。基本上没有较好的调试器,很多时候是用print来调试,但用这种方法调试长达数百行的存储过程简直是噩梦(2)无法适应数据库的切割(水平或垂直切割)。数据库切割之后,存储过程并不清楚数据存储在哪个数据库中。【归纳总结,布置课后作业】(1)回顾上课前的学习目标,对本节课知识点进行总结。提问讲解的知识点,对存在问题进行讲解。带领学生总结存储过程概述、存储过程的创建、调用与查看、游标的使用、存储过程的修改、删除存储过程、变量类型介绍、流程控制。(2)布置随堂练习,检查学生掌握情况。根据博学谷和随堂联系资源,给学生布置随堂练习,检测学生的掌握程度,并对学生出现的问题进行解决。(3)完成超星平台的章节知识测试,以及教师发布的实践任务。中国正在积极推进人民币的数字化发展,以推动数字经济的发展和便利支付体验。存储过程和游标可用于处理数字支付交易数据,确保支付数据的安全、准确和高效。在编写存储过程时,我们应注重数据的保护、稳定性和合规性,为数字经济提供可靠的数据支持。教学后记课次:第24-25讲课程教案授课主题第10章章节内容第10章函数(可选)地点多媒体课室课时4教学目的与要求1.掌握存储函数的创建、调用、查看、修改与删除;2.了解各种系统函数的用法。教学重点存储函数的创建、调用、查看教学难点各种系统函数的用法教学方法线上线下混合教学、讲授法、讨论法、练习法、归纳法教学手段多媒体技术、超星学习通等软件教学过程课程思政元素说明:*号标注的是课程思政的融入点【回顾上节课内容,继续讲解本课时的知识】(1)教师对学生们的疑问进行统一答疑。(2)回顾总结上节课内容,继续介绍本课时的内容。上节课介绍了存储过程概述、存储过程的创建、调用与查看、游标的使用、存储过程的修改、删除存储过程、变量类型介绍、流程控制。本节课介绍存储函数的创建、调用与查看、修改存储函数、删除存储函数。【绪论课】1.存储函数的创建、调用与查看(1)创建存储函数存储函数名:存储函数的名称;参数:存储函数的参数列表,只需要给定参数名称与类型即可,因为存储函数的参数默认为IN模式;RETURNS:指定存储函数返回值的数据类型;特性:指定存储函数的特性,取值与【9.2.1创建存储过程】中特性的取值完全相同;存储函数语句块:指定SQL代码的内容,也是存储函数主体的核心部分。使用BEGIN和END将存储函数块封闭,并使用RETURN语句定义存储函数的返回值。讲解案例10.1创建一个存储函数。调用存储函数存储函数名:表示调用的存储函数的名称。如果要调用其他数据库中的存储函数,需要按照“数据库名.存储函数名”的格式调用;参数:表示调用该存储函数时传递的参数列表。该参数列表需要与存储函数定义时的参数列表保持一致。讲解案例10.2调用存储函数。查看存储函数讲解案例10.3查看存储函数的状态。讲解案例10.4查看存储函数的定义信息。讲解案例10.5通过routines表查询存储函数。2.修改存储函数在MySQL中,可以通过ALTER关键字修改存储函数的特性,但是无法修改存储函数中的参数和过程体定义语句,因为这将导致存储函数的结构或执行逻辑发生变化。讲解案例10.6修改存储函数。3.删除存储函数*资源节约与环境保护讲解案例10.7删除存储函数fun_find。4.MySQL系统函数(1)字符串函数*字符转换函数等不常用函数也要能做到举一反三,快速应用数学函数(3)日期和时间函数(4)统计函数(5)流程控制函数讲解案例10.8使用IF函数进行条件判断。讲解案例10.9使用CASE函数进行分支操作。讲解案例10.10使用CASE函数进行分支操作。讲解案例10.11使用IFNULL函数进行条件判断。讲解案例10.12使用NULLIF函数进行条件判断。【本讲拓展】Decode函数在SQL语句中的功能:Decode函数与一系列嵌套的IF-THEN-ELSE语句相似。base_exp与compare1,compare2等等依次进行比较。如果base_exp和第i个compare项匹配,就返回第i个对应的value。如果base_exp与任何的compare值都不匹配,则返default。每个compare值顺次求值,如果发现一个匹配,则剩下的compare值(如果还有的话)就都不再求值。一个NULL的base_exp被认为和NULLcompare值等价。如果需要的话,每一个compare值都被转换成和第一个compare值相同的数据类型,这个数据类型也是返回值的类型。【归纳总结,布置课后作业】(1)回顾上课前的学习目标,对本节课知识点进行总结。提问讲解的知识点,对存在问题进行讲解。带领学生总结存储函数的创建、调用与查看、修改存储函数、删除存储函数。(2)布置随堂练习,检查学生掌握情况。根据博学谷和随堂联系资源,给学生布置随堂练习,检测学生的掌握程度,并对学生出现的问题进行解决。(3)完成超星平台的章节知识测试,以及教师发布的实践任务。教学后记课次:第26讲课程教案授课主题第11章章节内容第11章触发器地点多媒体课室课时2教学目的与要求1.了解触发器的定义、作用和优缺点;2.熟悉掌握触发器的创建;3.掌握查看和删除触发器;4.掌握通过图形化工具管理触发器;5.通过完成课业任务学会分析问题、解决问题,提高动手操作能力。教学重点1.熟悉掌握触发器的创建;2.掌握查看和删除触发器;3.掌握通过图形化工具管理触发器。教学难点1.了解触发器的定义、作用和优缺点;2.熟悉掌握触发器的创建。教学方法线上线下混合教学、讲授法、讨论法、练习法、归纳法教学手段多媒体技术、超星学习通等软件教学过程课程思政元素说明:*号标注的是课程思政的融入点【回顾上节课内容,继续讲解本课时的知识】(1)教师对学生们的疑问进行统一答疑。(2)回顾总结上节课内容,继续介绍本课时的内容。上节课介绍了存储函数的创建、调用与查看、修改存储函数、删除存储函数。本节课介绍MySQL触发器的概述、触发器的创建、查看触发器、删除触发器。【绪论课】1.MySQL触发器的概述(1)什么是触发器*触发器及游标常见错误及解决办法MySQL从5.0.2版本开始支持触发器。MySQL的触发器和存储过程一样,都是嵌入到MySQL服务器的一段程序。触发器是由事件来触发某个操作,这些事件包括INSERT、UPDATE、DELETE事件。所谓事件是指用户的动作或者触发某项行为。如果定义了触发程序,当数据库执行这些语句时,就相当于该事件发生了,就会自动激发触发器执行相应的操作。(2)触发器作用1.安全性2.审计3.实现复杂的数据完整性规则4.实现复杂的级联操作(3)触发器的优缺点1.优点触发器可以确保数据的完整性。触发器可以保证存储在数据库中的所有数据值保持正确的状态,从而保护了数据的完整性。触发器可以记录操作日志。利用触发器可以具体记录什么时间发生了什么。例如,记录修改会员储值金额的触发器,就是一个很好的例子。这对操作人员还原操作执行时的具体场景,更好地定位问题原因很有帮助。触发器还可以用在操作数据前,对数据进行合法性检查。超市进货的时候,需要录入进货价格。但是人为操作很容易犯错误,例如在录入金额的时候,看错了行,录入的价格远超售价,导致账面上的亏损,这些都可以通过触发器,在实际插入或者更新操作之前,对相应的数据进行检查,及时提示错误,防止错误数据进入系统。2.缺点*触发器可读性差。触发器存储在数据库中,并且由事件驱动,这就意味着触发器有可能不受应用层的控制,这对系统维护是非常有挑战的。数据的变更,可能会导致触发器出错。数据表结构的变更,会导致触发器出错,进而影响数据操作的正常运行。操作频繁的表上不建议创建触发器。在添加、删除和修改操作相对频繁的表上不建议创建触发器,因为它会对表中受影响的每一行执行一次触发器,使触发器消耗资源较大。NEW和OLD变量2.触发器的创建CREATETRIGGER触发器名称{BEFORE|AFTER}{INSERT|UPDATE|DELETE}ON表名FOREACHROW触发器执行的语句块;讲解案例11.1记录系部表添加数据的日志信息。3.查看触发器(1)查看当前数据库的所有触发器(2)查看当前数据库的某个触发器(3)查看triggers表中的触发器信息4.删除触发器触发器也是数据库对象,删除触发器可以通过DROP语句,语法格式如下:讲解案例11.2删除after_insert_department触发器。【本讲拓展】与MySQL触发器相似的功能:(1)Oracle数据库的触发器:Oracle数据库也支持触发器,它们与MySQL触发器类似,都是在数据库中定义的特殊类型的存储过程,用于在数据发生特定事件时自动执行。(2)SQLServer的触发器:SQLServer也支持触发器,它们与MySQL触发器的功能类似,都可以用于在数据库表中插入、更新或删除数据时自动触发相关操作。(3)PostgreSQL的触发器:PostgreSQL数据库也有触发器的概念,它们可以在表的数据变化时执行相应的操作,类似于MySQL触发器的功能。这些数据库管理系统中的触发器都具有类似的目的,即在数据库中定义特定事件触发的操作。虽然语法和用法可能会有所不同,但它们都提供了类似的功能来监控和处理数据库中的数据变化。【归纳总结,布置课后作业】(1)回顾上课前的学习目标,对本节课知识点进行总结。提问讲解的知识点,对存在问题进行讲解。带领学生总结MySQL触发器的概述、触发器的创建、查看触发器、删除触发器。(2)布置随堂练习,检查学生掌握情况。根据博学谷和随堂联系资源,给学生布置随堂练习,检测学生的掌握程度,并对学生出现的问题进行解决。(3)完成超星平台的章节知识测试,以及教师发布的实践任务。“知其所以然,才能知其然”,要求学生养成认真负责的工作态度、一丝不苟的工匠精神和求真务实的科学精神。教学后记课次:第28讲课程教案授课主题第12章章节内容第12章事务处理地点多媒体课室课时2教学目的与要求1.了解存储引擎的相关知识;2.熟悉事务的基本概念;3.掌握事务的ACID特性和状态;4.掌握如何使用事务,设置事务的隔离级别;5.通过完成课业任务学会分析问题、解决问题,提高动手操作能力。教学重点1.熟悉事务的基本概念;2.掌握事务的ACID特性和状态;3.掌握如何使用事务,设置事务的隔离级别。教学难点掌握如何使用事务,设置事务的隔离级别教学方法线上线下混合教学、讲授法、讨论法、练习法、归纳法教学手段多媒体技术、超星学习通等软件教学过程课程思政元素说明:*号标注的是课程思政的融入点【回顾上节课内容,继续讲解本课时的知识】(1)教师对学生们的疑问进行统一答疑。(2)回顾总结上节课内容,继续介绍本课时的内容。上节课介绍了MySQL触发器的概述、触发器的创建、查看触发器、删除触发器。本节课介绍存储引擎的概述、事务的基本概念、使用事务、事务隔离级别。*知识与实践的最高境界,是由实践引导出理论,再用理论指导实践【绪论课】1.存储引擎的概述(1)什么是存储引擎在学习事务处理之前,需要了解MySQL中的存储引擎。数据库存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎,还可以获得特定的功能。现在许多不同的数据库管理系统都支持多种不同的数据引擎。在关系数据库中数据的存储是以表的形式存储的,所以存储引擎也可以称为表类型(TableType,即存储和操作此表的类型)。(2)MySQL存储引擎1.MEMORY存储引擎2.MRG_MYISAM存储引擎3.CSV存储引擎4.FEDERATED存储引擎5.PERFORMANCE_SCHEMA存储引擎6.MyISAM存储引擎7.InnoDB存储引擎8.ndbinfo存储引擎9.BLACKHOLE存储引擎10.ARCHIVE存储引擎11.ndbcluster存储引擎2.事务的基本概念事务是一组逻辑操作单元,使数据从一种状态变换到另一种状态。所有事务都作为一个工作单元来执行,即使出现了故障,都不能改变这种执行方式。当在一个事务中执行多个操作时,要么所有的事务都被提交(commit(1)事务的ACID特性1.原子性(atomicity)2.一致性(consistency)3.隔离型(isolation)4.持久性(durability)(1)事务的状态1.活动的(active)2.部分提交的(partiallycommitted)3.失败的(failed)4.中止的(aborted)5.提交的(committed)3.使用事务*了解死锁产生机制(1)显式事务讲解案例12.1开启一个显示事务。(2)隐式事务隐式事务没有明显的开启和结束标记,都具有自动提交事务的功能,隐式事务提交数据包括以下几种情况:MySQL中的数据定义语言(Datadefinitionlanguage,缩写为:DDL);隐式使用或修改MySQL数据库中的表;事务控制或关于锁定的语句;加载数据的语句;关于MySQL复制的一些语句。4.事务隔离级别MySQL是一个客户端或者服务器架构的软件,对于同一个服务器来说,可以有若干个客户端与之连接,每个客户端与服务器连接上之后,就可以称为一个会话(Session)。每个客户端都可以在自己的会话中向服务器发出请求语句,一个请求语句可能是某个事务的一部分,也就是对于服务器来说可能同时处理多个事务。(1)数据并发问题1.脏写(DirtyWrite)2.脏读(DirtyRead)3.不可重复读(Non-RepeatableRead)4.幻读(Phantom)上面介绍了几种并发事务执行过程中可能遇到的一些问题,这些问题有轻重缓急之分,给这些问题按照严重性来排序:脏写>脏读>不可重复读>幻读。(2)SQL中的四种隔离级别1.READUNCOMMITTED(读未提交)2.READCOMMITTED(读已提交)3.REPEATABLEREAD(可重复读)4.SERIALIZABLE(可串行化)(3)MySQL默认支持的隔离级别讲解案例12.2查看当前事务的隔离级别。(4)设置事务的隔离级别【本讲拓展】传统关系型数据库的事务处理与新兴技术的对比:(1)数据模型和结构。传统关系型数据库使用表格和关系模型来存储和管理数据,采用严格的结构化模式。而新兴技术如NoSQL数据库可能采用不同的数据模型,如文档型、键值对、列族等,更加灵活适应不同类型的数据。这种灵活性使得新兴技术在非结构化数据处理和大规模数据存储方面具有优势。(2)数据一致性与可扩展性。传统关系型数据库通过ACID(原子性、一致性、隔离性和持久性)事务特性来确保数据的一致性和完整性。这种严格的一致性对于某些应用场景非常重要。然而,在高并发和大规模数据处理场景下,传统关系型数据库可能面临可扩展性挑战。而新兴技术如分布式数据库和大数据技术(如Hadoop和Spark)则更加注重横向扩展能力和数据处理性能,但对于数据一致性可能采用较弱的一致性模型(如最终一致性)。【归纳总结,布置课后作业】(1)回顾上课前的学习目标,对本节课知识点进行总结。提问讲解的知识点,对存在问题进行讲解。带领学生总结存储引擎的概述、事务的基本概念、使用事务、事务隔离级别。(2)布置随堂练习,检查学生掌握情况。根据博学谷和随堂联系资源,给学生布置随堂练习,检测学生的掌握程度,并对学生出现的问题进行解决。(3)完成超星平台的章节知识测试,以及教师发布的实践任务。在线交易平台上,数据一致性是确保交易可靠性和用户信任的基石。正如曾经发生的订单处理问题所揭示的那样,事务处理在维护数据一致性方面发挥着重要作用。通过采用事务处理机制,我们可以确保订单的正确处理和支付的准确记录,避免用户面临重复支付或未支付的尴尬情况。因此,我们作为数据管理者应该注重事务处理的可靠性和安全性,为用户提供一致、可靠的在线交易体验。正如华罗庚所言:'知识与实践的最高境界,是由实践引导出理论,再用理论指导实践。'因此,在在线交易平台的数据处理中,我们应积极探索并应用先进的事务处理技术,不断提升数据一致性水平,为用户提供安全、稳定的交易环境“有条不紊、运筹帷幄”,培养学生并行、调动、协同的计算思维。加锁是实现数据库并发控制的一个非常重要的技术。在实际应用中经常会遇到的与锁相关的异常情况,当两个事务需要一组有冲突的锁,而不能将事务继续下去的

温馨提示

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

评论

0/150

提交评论