版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3页共29页第1页共1页教案(年季学期)课程名称:数据库原理与实践课程学时:48授课年级:任课教师:
第2页共5页课程英文名称DatabasePrinciplesandPractice课程代码COM0019A课程类型学科基础考核方式考试成绩构成形成性考核平时实验30%成绩构成形成性考核平时作业20%终结性考核期末考试50%教材和参考书目书目类型书目名称作者出版社及出版时间课程教材MySQL8数据库原理与实践麻进玲等机械工业出版社,2023年2月参考书目数据库系统原理及MySQL应用教程(第2版)李辉等机械工业出版社,2019年8月授课时间1-17周课程组负责人审核教案比较符合教学大纲的要求,教学方式和课程内容比较合理,教学过程安排适当,能达到设定的教学目标,便于衡量课程目标是否达成,教学总结有助于持续改进。课程负责人审核(手写签名):年月日
第2页共5页教案编号:01教学单元数据库需求分析课时数3教学单元性质理论授课方式讲授法、讨论法支撑的课程目标1.课程目标1:掌握数据库的概念和原理,能运用数据库设计方法、范式理论等专业知识分析现实系统中的数据存储和管理需求,用合适模型进行表达。教学目标1.掌握数据库的基础知识,能分析数据库的特点和系统结构。2.掌握数据库设计过程,能对系统进行需求分析。教学重点1.数据库系统基本概念、特点和结构等基础知识。2.数据库系统需求分析。教学难点数据库系统需求分析时间分配教学过程MIN135一、课程导入数据库的应用:课程介绍二、创设情境我校智能体测是如何进行的?三、问题引入1.信息与数据的关系?2.如何管理纷杂的数据?3.分析体测系统智能化测试涉及的数据有哪些?教师引导和总结:使用数据库对体测数据进行存储和管理。四、新课学习1.数据库系统概述(1)主要概念1)数据(Data)是数据库中存储的基本对象,是人们用于记录客观事物的符号,种类多样。【强调】数据与其语义是不可分的。2)数据库(Database,简称DB),是长期储存在计算机内部的、有结构的、集成的、可共享的、统一管理的大量数据的集合。3)数据库管理系统(DatabaseManagementSystem,简称DBMS)是位于用户与操作系统之间的一层数据管理软件,负责对数据库中的数据进行统一的管理和控制。【强调】数据库管理系统是数据库系统的基础和核心,应从操作系统、数据库、用户和数据库产品等角度去理解。具有数据定义、数据操纵、数据库的运行管理、数据库的建立和维护等功能。4)数据库系统(DatabaseSystem,简称DBS)是指在计算机系统中引入数据库后的系统。数据库系统的构成:由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。【强调】数据库系统是一个人机系统,是信息系统的重要基石。(2)数据管理技术的发展(3)数据库系统的特点1)数据结构化2)数据的共享性高,冗余度低且易扩充3)数据独立性高4)数据由DBMS统一管理和控制(4)数据库系统结构从数据库管理系统角度来看,数据库系统内部的体系结构通常采用三级模式结构,即由子模式、模式和内模式组成。1)模式定义:模式(也称概念模式或逻辑模式)是数据库中全体数据的逻辑结构特征的描述,是所有用户的公用数据库结构。特征:一个数据库只有一个模式。模式与具体应用程序无关,它只是装配数据的一个框架。模式用语言描述和定义,需定义数据的逻辑结构、数据有关的安全性等。2)子模式定义:子模式(也称外模式或用户模式)是数据库用户所见和使用的局部数据的逻辑结构和特征的描述,是用户所用的数据库结构。子模式是模式的子集,它主要描述用户视图的各记录的组成、相互联系、数据项的特征等。特性:一个数据库可以有多个子模式;每个用户至少使用一个子模式。同一个用户可使用不同的子模式,而每个子模式可为多个不同的用户所用。模式是对全体用户数据及其关系的综合与抽象,子模式是根据所需对模式的抽取。3)内模式定义:内模式(也称存储模式)是数据物理结构和存储方法的描述。它是整个数据库的最低层结构的表示。内模式定义的是存储记录的类型,存储域的表示,存储记录的物理顺序、索引和存取路径等数据的存储组织。特性:一个数据库只有一个内模式。内模式对用户透明。一个数据库由多种文件组成,如用户数据文件、索引文件及系统文件等。内模式设计直接影响数据库的性能。4)数据独立性与二级映像功能为实现数据独立性,数据库系统在三级模式之间提供了两级映像:外模式/概念模式映像和概念模式/内模式映像。【强调】模式/内模式映像是唯一的,子模式/模式映像不唯一。从最终用户角度来看,数据库系统外部的体系结构分为:单用户式、主从式、客户/服务器式、分布式和并行结构。2.数据库设计(1)目标:建立一个性能良好的、能满足不同用户使用要求的、又能被选定的DBMS所接受的数据库系统模式。应能够完整反映现实世界中信息及信息之间的联系,能够有效地进行数据存储,能够方便执行各种数据检索和处理操作,并且有利于进行数据维护和数据控制管理的工作。(2)数据库设计6个阶段:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施和数据库运行和维护。3.数据库需求分析(1)需求分析的任务、成果(2)需求分析的主要步骤(3)需求分析的主要表达工具1)数据流图(DataFlowDiagram,DFD):是从“数据”和“处理”两个方面表达数据处理的一种图形化表示方法,直观、易于被用户理解。2)数据字典(Datadictionary):是系统中各类数据描述的集合,它的功能是存储和检索各种数据描述,并为DBA提供有关的报告。(4)数据库需求分析实例【强调】可通过多种方法开展需求分析,准确了解并分析用户对系统的需要和要求,弄清系统要达到的目标和实现的功能,需要用户和分析人员充分沟通。五、课程思政职业素养:多角度探索问题、全局思考的职业素养作业布置复习本次课内容,预习概念模型设计课后反思作为入门的第一次课,首先通过数据库应用的话题引入课程介绍,让学生明确了课程在人培中的地位和课程要求,然后通过体测项目创设情境,引出课程内容学习,通过讨论、讲授和练习,学生基本掌握了数据库的重要概念,但围绕案例进行需求分析时还不够全面,需要进一步训练。第2页共5页教案编号:02教学单元数据库概念结构设计课时数3教学单元性质理论授课方式讲授法、讨论法、练习法支撑的课程目标1.课程目标1:掌握数据库的概念和原理,能运用数据库设计方法、范式理论等专业知识分析现实系统中的数据存储和管理需求,用合适模型进行表达。教学目标1.理解数据模型的要素和构成,掌握数据库概念结构设计方法,能进行概念结构设计。教学重点1.数据模型的抽象层次和组成要素。2.概念结构设计的方法、步骤。教学难点E-R模型的设计和表示。时间分配教学过程MIN135一、创设情境智能体测系统从描述信息到转化为计算机能处理的数据的过程。二、问题引入1.客观存在的事物如何转换为可以量化的数据?2.体测系统的用户数据如何转换的?教师引导和总结:信息的三种世界描述和数据模型的结合可以解决上述问题。三、新课学习结合体测系统进行讲解、讨论。1.信息的三种世界描述(1)现实世界,以体测系统的用户信息为例【强调】事物是客观存在的。(2)信息世界,以用户使用设备为例。(3)计算机世界,以用户测试的成绩要处理为例。【强调】现实世界存在的客观事物及其联系,经过人们大脑的认识、分析和抽象后,用物理符号、图形等表述出来,即得到信息世界的信息,再将信息世界的信息进一步具体描述、规范并转换为计算机所能接受的形式,则成为机器世界的数据表示。2.数据模型数据模型(DataModel)是一种模型,它是对现实世界中数据特征及数据之间联系的抽象,比如用户信息可以用一张表格描述。(1)数据模型满足的三个要求1)能真实的模拟现实世界2)容易理解3)便于在计算机上实现(2)数据模型的三个层次一种数据模型要很好地满足上述提到的三个方面的要求在目前尚很困难,在数据库系统中针对不同的使用对象和应用目的,通常采用逐步抽象的方法,在不同层次采用不同的数据模型,故引出概念层、逻辑层、物理层的概念。概念层:数据抽象级别的最高层,其目的是按用户的观点来对现实世界建模。逻辑层:是数据抽象的中间层,描述数据库数据整体的逻辑结构。物理层:是数据抽象的最底层,用来描述数据物理存储结构和存储方法。数据模型通常由数据结构、数据操作和完整性约束三部分组成。(3)数据模型构成描述1)数据结构定义:数据结构描述数据库的组成对象,以及对象之间的联系,是对系统静态的描述,比如体测系统的设备信息:2)数据操作对数据库中各种对象(型)的实例(值)允许执行的操作及有关的操作规则。比如在体测系统中的设备信息中查找哪个设备是在用状态:检索和更新(包括插入、删除、修改)3)完整性约束定义:完整性规则主要描述数据结构中的数据之间的语义联系、数据之间的制约和依存关系,以及数据动态变化规则。目的:数据约束主要用于保证数据的完整性、有效性和相容性。4)数据模型与数据模式数据模型是描述现实世界数据的手段和工具;数据模式是利用这个手段和工具对相互间的关系所进行的描述,是关于型的描述。它与DBMS和OS硬件无关。3.概念结构设计(1)概念模型概念模型用于信息世界的建模,是现实世界到信息世界的第一层抽象,独立于计算机硬件结构,独立于数据库的DBMS。是数据库设计人员和用户之间进行交流的语言,以下概念需要理解。1)举例说明主要术语实体(Entity)(以体测系统中用户信息表为例)客观存在并可相互区别的事物称为实体。可以是具体的人、事、物或抽象的概念。属性(Attribute)实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画。码(Key):唯一标识实体的属性集称为码。域(Domain):属性的取值范围称为该属性的域。联系(Relationship):现实世界中事物内部以及事物之间的联系在信息世界中反映为实体内部的联系和实体之间的联系。2)E-R模型常用的概念层数据模型有实体-联系(Entity-Relationship,E-R)模型、语义对象模型。E-R模型是实现概念模型的建模工具,由实体、属性和联系三个要素构成。【强调】E-R图的两种表达方式,陈氏E-R图的绘制。E-R模型设计原则。(2)概念结构设计方法和步骤结合案例重点讲解自底向上的方法:根据用户的每一项具体需求,先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构。主要步骤:抽象数据设计局部E-R图——>集成局部视图,得到全局概念结构——>优化全局E-R图。【强调】三种数据抽象方法,实体、属性、联系的定义,全局E-R模型的设计过程。【练习】设计E-R模型,采用不同方式绘制E-R图。四、课程思政职业素养:从多角度思考问题、全面分析问题的素养。作业布置完成头歌E-R图实训项目,预习实验1课后反思本周围绕体测系统的功能和数据需求引入课程内容学习,学生对数据模型有一定了解。采用讲解、讨论和练习相结合的方式,让学生尽可能参与到课堂教学中。从实际课堂情况来看,学生对前面所学内容有些遗忘,对现实问题的分析不是很全面,后面还需要加强学生分析问题能力的培养。第2页共5页教案编号:03教学单元数据库逻辑结构设计课时数3教学单元性质理论授课方式讲授法、讨论法、练习法支撑的课程目标1.课程目标1:掌握数据库的概念和原理,能运用数据库设计方法、范式理论等专业知识分析现实系统中的数据存储和管理需求,用合适模型进行表达。教学目标1.理解关系模型,掌握概念模型转换为逻辑模型的方法,能进行逻辑结构设计。2.理解数据库设计的规范化,能对逻辑模型进行分析优化。教学重点关系模型教学难点1.概念模型转换为逻辑模型的方法。2.数据库设计的规范化。时间分配教学过程MIN135一、创设情境体测系统中学生和体测项目之间的关系如何进一步转化成DBMS能理解的模型。二、问题引入1.概念模型的主要表示方法是什么?2.信息世界到机器世界所构建的模型属于数据模型的哪个层次?教师引导和总结:逻辑数据模型是用户通过DBMS看到的现实世界,是基于计算机系统的观点来对数据进行建模和表示。三、新课学习1.逻辑结构设计概述1)任务:把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构(逻辑模型)。2)最常用的逻辑数据模型及其数据结构【强调】关系模型的数据结构就是二维表(关系)2.关系模型1)关系中基本术语2)关系的性质3)关系模式关系模式通常可以简记为R(U)或R(A1,A2,…,An)。其中R为关系名,A1,A2,…,An为字段名。【强调】关系和关系模式的联系与区别,实际应用中,人们通常把关系模式和关系都称为关系。4)关系的操作和完整性3.逻辑结构设计方法1)主要步骤【强调】支持关系数据模型的DBMS逻辑结构设计:E-R图向关系模型的转换——>关系模式规范化——>模式评价与改进2)概念模型向逻辑模型的转换要解决的问题:如何将实体型和实体间的联系转换为关系模式,如何确定这些关系模式的属性和码。转换原则:一个实体对应一个关系模型,实体的名称即是关系模型的名称,实体的属性就是关系模型的属性,实体的码就是关系模型的码。不同联系类型的转换规则【强调】围绕实体间的联系类型分情况讨论,有不同的转换规则,其合理性可根据关系数据库的规范化理论进行验证,并优化。【案例分析】智能体测系统逻辑结构设计4.数据库设计的规范化举例说明没有关系没有经过规范化可能会出现的问题(1)函数依赖(2)范式及应用案例规范化:一个低一级范式的关系模式,通过模式分解可以转换成若干高一级范式的关系模式的集合。【总结】规范化的思想和步骤规范化的基本思想是逐步消除数据依赖中不合适的部分,使模式中的各关系模式达到某种程度的“分离”。5.学生讨论(1)思考体测系统中学生与体测项目之间的关系,绘制E-R图,并转换为关系模式基本结构。(2)分析该关系模式属于第几范式。四、课程思政职业素养:通过对问题的分析和探讨,培养学生们多角度思考问题的职业素养。引导学生规范做事,严谨做人。作业布置1.平时作业1课后反思本周采用讲解和讨论相结合的方式,在学习了基本原理之后,引导学生围绕体测系统分析其中部分的数据模型。从课堂讨论和练习题完成情况来看,学生对实际系统的数据模型抽象还不太全面和准确,设计出的方案不尽相同,但基本方法已经掌握。由此引导学生正确地看待不同的解决方法,鼓励学生要多实践,多思考,才能更好地从多种角度去分析问题。同时,设计必须符合规范要求,才能设计出结构合理的关系型数据库,这个点还需要加强引导。第2页共5页教案编号:04教学单元实验1:数据模型设计课时数3教学单元性质实验授课方式讨论法、练习法支撑的课程目标1.课程目标1:能够综合应用数据库相关原理和技术,针对实际的信息系统需求,设计数据库项目的实施方案,培养多角度思考问题和科学严谨的素养。教学目标1.掌握数据库设计过程的需求分析,能分析实际系统的功能和数据需求。2.掌握概念结构设计方法和步骤,能完成实际项目概念结构设计。3.培养学生从多角度思考问题、全面分析问题的素养。教学重点1.数据库需求分析。2.概念结构设计。教学难点E-R模型的设计与优化。时间分配教学过程MIN135一、内容引入1.数据库需求分析(1)任务:准确了解并分析用户对系统的需要和要求,弄清系统要达到的目标和实现的功能。(2)主要表达工具:系统功能结构图、数据流程图和数据字典等。2.概念结构设计(1)任务:将需求分析得到的用户需求抽象为信息结构,即概念模型。(2)主要表达工具:E-R图(3)设计步骤1)抽象绘制局部E-R图:划分和确定实体、属性、联系。2)设计全局E-R图:确定公共实体,合并局部E-R模型,消除合并时存在的冲突。3)优化模型:结合需求分析,利用数据流程图等对E-R总图进行优化,消除数据实体间冗余的联系及属性。二、学生实验【实验内容及要求】西南财经大学天府学院开发智能体测系统,简称“智能体测系统”,该系统包括以下几种设备,有长跑、短跑、肺活量、体前屈、立定跳远、仰卧起坐、引体向上,身高体重,通过这些设备可以实现数据的实时采集处理,实时上报,实时查看等功能。(1)请根据上述描述以及实际使用系统的过程,在查阅资料的基础上对该系统功能需求进行详细分析,绘制出该系统的功能模块图和主要的数据存储。(2)请根据需求分析定义该系统涉及的实体以及实体的属性,并采用陈氏E-R图表达方式分别绘制出各实体局部E-R图,最后绘制出全局E-R图。三、课程思政职业素养:从多角度思考问题、全面分析问题的素养。作业布置预习逻辑结构设计课后反思本次课先引导学生回顾数据库需求分析和概念结构设计阶段的主要任务、分析的主要工具和主要步骤,然后让学生进行实验。从实验情况来看,大多数学生能结合课堂所学和自己对现实项目的实际需求进行分析,设计模型,且正确地表达出来。在实验过程中引导学生从多角度思考问题,强调同一项目具体需求不同,或分析的角度不同,能得出不同的解决方案。从实验结果也可以看出,学生分析设计出的模型不尽相同,进而引导学生寻求最佳方案。第2页共5页教案编号:05教学单元实验1:数据模型设计(续)课时数3教学单元性质实验授课方式讲授法、讨论法支撑的课程目标1.课程目标1:能够综合应用数据库相关原理和技术,针对实际的信息系统需求,设计数据库项目的实施方案,培养多角度思考问题和科学严谨的素养。教学目标1.掌握逻辑结构、物理结构设计方法和步骤,能进行逻辑模型和物理表结构设计,得出数据库项目的实施方案。2.培养学生从多角度思考问题、全面分析问题的素养。教学重点1.逻辑结构设计。2.物理表结构设计。教学难点1.E-R模型向关系模型转换。2.数据类型和完整性约束设计。时间分配教学过程MIN135一、内容引入1.逻辑结构设计(1)任务:把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构(逻辑模型)。(2)主要模型和表达工具:关系模型——关系模式关系名(属性1,属性2,属性3,……)(3)主要步骤:E-R图向关系模型的转换——>关系模式规范化——>模式评价与改进。(4)转换方法:一个实体对应一个关系模型,实体的名称即是关系模型的名称,实体的属性就是关系模型的属性,实体的码就是关系模型的码。联系的转换根据联系的类型采用不同的转换规则。(5)模式的规范化:判断范式——分解模式。2.物理结构设计(1)任务:利用数据库管理系统提供的方法、技术,对已经确定的数据库逻辑结构,以较优的存储结构、数据存取路径、合理的数据库存储位置及存储分配,设计出一个高效的、可实现的物理数据库结构。(2)物理表结构设计在进行表结构设计时,需要确定各字段的数据类型和完整性约束,数据类型的选取原则如下:大小合适就是最好的;简单存放就好;尽量避免使用NULL;数据类型的选择还应该考虑数据操作和应用处理的要求,如果想不同的标准对一列中所有的值进行排序,则需要选择一种能够有效地执行这些功能并且带有最大限度的灵活性的类型;对相应字段添加索引,能够加快检索速度;比较的类型也应该使用的数据类型,需要保证使用的数据类型支持比较运算,并且相互兼容。二、学生实验1.请根据实验1已设计出的概念模型,将E-R图按规则转换为逻辑模型(关系模式),并说明所采用的转换规则,注明主码和外码。2.请将该系统的物理表结构描述出来。三、课程思政职业素养:通过对问题的分析和实践,培养学生们多角度思考问题的职业素养。作业布置1.提交实验报告2.预习数据库的安装课后反思本次课主要是继续完成数据库数据模型设计实验,在进行实验之前,针对实验所涉及的主要知识点进行回顾和讲解。在学生实验过程中,教师给予指导。从实验情况来看,大多数学生能独立设计,完成实验内容,少部分学生需要在教师的指导下能完成。学生对问题分析的能力还有待进一步提高。第2页共5页教案编号:06教学单元MySQL数据库课时数3教学单元性质理论授课方式讲授法、自主学习法支撑的课程目标1.课程目标2:能运用数据库原理,SQL语言等知识和技术,进行数据库数据观察和分析,具备实验观察和数据分析能力。教学目标1.理解MySQL系统构成,SQL语言的功能和特点,能查看MySQL的存储引擎和字符集。教学重点MySQL存储引擎和字符集教学难点MySQL存储引擎和字符集时间分配教学过程MIN135一、创设情境1.学生体能健康数据库具体如何实现?2.常见的数据库产品(关系型和非关系型数据库产品)?二、知识讲解1.MySQL概述MySQL以其开源、免费、体积小、便于安装,而且功能强大等特点,成为了全球最受欢迎的数据库管理系统之一,MySQL是一款单进程多线程、支持多用户、基于客户机/服务器(Client/Server,C/S)的关系数据库管理系统,开源软件。MySQL的优势:(1).成本低:开放源代码,社区版本可以免费使用。(2).性能良:执行速度快,功能强大。(3).值得信赖。(4).操作简单:安装方便快捷,有多个图形客户端管理工具(MySQLWorkbench/Navicat、MySQLFront,SQLyog等客户端)和一些集成开发环境。(5).兼容性好:安装于多种操作系统,跨平台性好,不存在32位和64位机的兼容,无法安装的问题。【强调】MySQL的特性。2.MySQL体系结构组成连接池组件、管理服务和工作组件、SQL接口组件、查询分析组件、优化器组件、缓存组件、插件式存储引擎以及物理文件。MySQL工作流程图:3.MySQL系统构成(1)MySQL数据库服务(2)MySQL服务器、MySQL实例和MySQL数据库(3)MySQL客户程序和工具程序(4)负责与服务器进行通信主要有:mysql,mysqladmin,mysqlcheck、isamchk、muisamchk,mysqldump和mysqlhotcopy(5)服务器的语言—SQLSQL是结构化查询语言(StructuredQueryLanguage,SQL)的英文缩写。它是一种专门用来与数据库通信的语言,即数据库管理系统就是通过SQL语言管理数据库中的数据。数据定义类SQL(DDL--DATEDEFINITIONLANGUAGE)CREATE-创建数据库及其对象(表,索引,视图,存储过程,函数和触发器)DROP-改变现有数据库的结构ALTER-从数据库中删除对象TRUNCATE-删除表中的所有记录,包括为记录分配的所有空格COMMENT-为数据字典添加注释RENAME-重命名对象数据操作类SQL(DML-DATAMANIPULATIONLANGUAGE)INSERT-将数据插入表中DELETE-更新表中的现有数据UPDATE-删除数据库表中的所有记录SELECT-从数据库中检索数据数据控制类SQL(DCL-DATACONTROLLANGUAGE)GRANT-允许用户访问数据库的权限DENY-在安全系统中创建一项,以拒绝给当前数据库内的安全帐户授予权限并防止安全帐户通过其组或角色成员资格继承权限REVOKE-撤消使用GRANT命令给出的用户访问权限事务控制类SQL(TCL-TRANSACTIONCONTROLLANGUAGE)SETTRANSACTIION-指定事务的特征ROLLBACK-在发生任何错误的情况下回滚事务COMMIT-提交事务SAVEPOINT-回滚在组内创建点的事务程序化SQL4.MySQL的安装(1)图形界面方式安装(2)命令方式安装【教师强调】安装的注意事项及技巧5.存储引擎(1)概述存储引擎就是指表的类型。数据库的存储类型决定了表在计算机中的存储方式。用户可以根据不同的存储方式、是否进行事务处理等来选择合适的存储引擎。MySQL数据库提供了多种存储引擎,用户可以根据不同的需求为数据表选择不同的存储引擎,也可以根据自己的需要编写自己的存储引擎。MySQL提供了插件式(pluggable)的存储引擎,存储引擎是基于表的。同一个数据库,不同的表,存储引擎可以不同。甚至,同一个数据库表在不同的场合可以应用不同的存储引擎。建表可以指定存储引擎,可以使用不同引擎,优化和逻辑时选着合适的存储引擎来存储的一种形式。同一个表可以使用多个存储引擎。1).查看MySQL支持的存储引擎:SHOWENGINES2).查看显示支持的存储引擎信息:SHOWVARIABLESLIKE'have%'3).查看默认的存储引擎:SHOWVARIABLESLIKE'storage_engine'在命令行的界面中,“\g”或“\G”作用与分号作用相同,”\G”可以让结果更加美观。比如:SHOWENGINES\G;(2)MySQL常见存储引擎InnoDB存储引擎:为处理巨大数据量时的最大性能设计。完全与MySQL服务器整合,InnoDB存储引擎为在主内存中缓存数据和索引而维持它自己的缓冲池。是事务(Transaction)安全的,并且支持外键(foreignkey)。InnoDB表空间分为共享表空间与独享表空间。其中,表空间是数据库的逻辑划分,一个表空间只能属于一个数据库。所有的数据库对象都存放在指定的表空间中。MyISAM存储引擎:是默认存储引擎,它是基于传统的ISAM类型,ISAM是IndexedSequentialAccessMethod(有索引的顺序访问方法)的缩写,它是存储记录和文件的标准方法。MyISAM具有检查和修复表格的大多数工具。MyISAM表格可以被压缩,而且它们支持全文搜索。它们不是事务安全的,而且也不支持外键。如果事务回滚将造成不完全回滚,不具有原子性。如果执行大量的查询操作时,MyISAM是更好的选择。6.字符集字符集:一套文字符号及其编码、比较规则的集合。MySQL支持的字符集:默认是latin1(西欧ISO_8859_1字符集的别名)latin1字符集是单字符编码,而汉字是双字节编码,由此可能导致MySQL数据库不支持中文字符查询或者中文字符乱码等问题。MySQL服务器可以支持多种字符集,在同一台服务器、同一个数据库甚至同一个表的不同字段都可以使用不相同或相同的字符集。查看字符集的两种方式:showcharacterset;使用information_schema.character_sets表用于查看字符集的详细信息,比如显示所有的字符集和该字符集默认校对规则。MySQL字符集包括字符集和校对规则两个概念。字符集用来定义MySQL存储字符串的方式。校对规则定义比较字符串的方式。字符集和校对规则是一对多的关系,两个不同的字符集不能有相同的校对规则,每个字符集有一个默认校对规则。MySQL支持30多种字符集的70多种校对规则。每个字符集至少对应一个校对规则。查看相关字符集的校对规则的方法:通过SHOWCOLLATIONLIKE’***’;命令。通过系统表information_schema.COLLATIONS来查看。三、课程思政职业素养:培养学生科学严谨的素养,提高爱国主义情怀和技术强国的责任担当。作业布置做好实验2准备工作课后反思本次课先引导学生带着问题学习,通过讨论了解常见的关系数据库产品,激发学生技术强国的责任担当。然后重再让学生理解MySQL的工作原理,特别是存储引擎和字符集的适用场景和选取原则,能针对具体的问题从字符集和存储引擎设置方面进行分析,引导学生重视安装细节,培养学生科学严谨的素养。第2页共5页教案编号:07教学单元实验2:MySQL的安装与使用课时数3教学单元性质实验授课方式练习法、自主学习法支撑的课程目标1.课程目标3:能够用数据库管理工具搭建数据库系统环境,进行数据库项目的实施,对数据库进行操作与管理,,让学生具备一定的数据安全意识。教学目标1.能正确安装和使用MySQL,查看MySQL所支持的存储引擎和字符集,解决安装过程中遇到的问题。教学重点MySQL数据库的安装和使用教学难点MySQL数据库的安装和使用时间分配教学过程MIN135一、实验准备学习MySQL安装的方法,熟悉安装步骤。二、实验内容(1)安装MySQL方法1:使用图形化方式安装MySQL。第一步,下载MySQL安装文件。打开网页浏览器,在地址栏中输入网址“/downloads/mysql/”,打开MySQLCommunityServer8.0.28下载页面,选择MicrosoftWindows平台。【教师强调】可根据自己的操作系统选择32位或64位的图形化安装包,然后再单击Download按钮。第二步,安装MySQL。【教师强调】注意安装路径第三步,配置MySQL8.0。【教师强调】系统默认的用户名称为root,尽可能设置强安全性的密码。第四步,查看MySQL服务是否启动。【教师强调】可采用多种方式查看MySQL服务启动情况。方法2:使用命令方式安装MySQL(自行选择)。(2)使用MySQL第一步,配置环境变量。【教师强调】把MySQL应用程序的bin目录添加到系统环境变量时注意标点符号的状态。第二步,启动、停止MySQL服务。【教师强调】可采用命令或者图形化操作方式来启动或停止服务。第三步,登录MySQL数据库。【教师强调】登录时需要输入安装时的密码,注意拼写正确。(3)查看MySQL的安装目录(4)查看当前MySQL的配置:了解当前服务器的版本号、服务器和客户端的字符集。(5)查看MySQL支持的存储引擎:了解各存储引擎的特点,指出默认存储引擎。(6)查看系统中可用的字符集。三、学生实验学生根据实验内容安装MySQL,并通过资料学习解决安装过程中的问题。教师根据学生完全情况进行指导。四、课程思政职业素养:培养学生科学严谨的素养,坚韧执着、迎难而上的品质。作业布置提交实验报告课后反思本次课采用实验的方式让学生掌握MySQL的安装和使用,并引导学生通过学习解决安装过程中可能存在的问题,在实践过程中培养学生科学严谨的素养和坚韧执着、迎难而上的品质。第2页共5页教案编号:08教学单元数据库和表操作课时数3教学单元性质理论授课方式讲授法、练习法支撑的课程目标1.课程目标2:能运用数据库原理,SQL语言等知识和技术,进行数据库数据观察和分析,具备实验观察和数据分析能力。教学目标1.掌握数据库和表操作的方法,能用SQL语言完成数据库和表的操作,观察创建的结果。教学重点数据库和表的创建、修改、查看和删除等操作教学难点使用SQL语言进行数据库和表操作时间分配教学过程MIN135一、创设情境如何使用数据库管理学生体能健康数据库中的各类数据信息?二、问题引入1.如何创建数据库?2.如何查看当前的数据库是哪个?3.如何更改该数据库?4.数据库可以删除吗?5.数据库建立以后如何设计数据表?三、知识讲解1.MySQL创建数据库创建数据库是通过SQL语句CREATEDATABASE或CREATESCHEMA命令来实现的。每一个数据库都有一个数据库字符集和一个数据校验规则,不能够为空。语法格式:create{database|schema}[ifnotexists]db_name[[default]charactersetcharset_name][[default]collatecollation_name];【说明】createdatabasedb_name表示创建数据库db_name,在MySQL中数据库的名字不区分大小写,但必须符合操作系统文件夹命名规则。ifnotexists表示判断数据库是否存在,若不存在则新建,反之则不创建。defaultcharactersetcharset_name表示数据库字符集,若没有设定,则使用默认值。collatecollation_name表示数据库的校验规则,若没有指定,那么会采用默认的值。例如:创建学生体能健康数据库副本mshd,设置数据库的默认编码方式为utf8,校验规则为utf8_general_ci(即大小写不敏感)。createdatabasemshddefaultcharactersetutf8collateutf8_general_ci;2.MySQL数据库的其他操作:(1)showdatabases或showschemas:查看MySQL服务器的所有数据库。(2)showcreate{database|schema}db_name:查看指定数据库的详细信息。(3)usedb_name:使用数据库db_name。(4)selectdatabase()或selectschema():查看当前打开的数据库。(5)showtables:查看当前数据库中的所有表。(6)selectversion():查看当前数据库版本。(7)selectcurrent_time:查看服务器当前的时间。3.修改数据库名称与删除数据库在MySQL8.0及后续版本中,如果MySQL数据库的存储引擎是MyISAM,那么只要修改DATA目录下的库名文件夹就可以了。如果存储引擎是InnoDB,是无法修改数据库名称的,只能修改字符集和校对规则。修改指定数据库编码方式的语法格式:alter{database|schema}[db_name][defaultcharactersetcharset_name]|[[default]collatecollation_name];例如:修改数据库mshd的字符集为gbk。alterdatabasemshdcharactersetgbk;【教师强调】ALTERDATABASE用于更改数据库的全局特性,用户必须有数据库修改权限,才可以使用ALTERDATABASE修改数据库。删除数据库是指在数据库系统删除已经存在的数据库。删除数据库成功后,原来分配的空间将被收回。在删除数据库时,会删除数据库中的所有的表和所有的数据,因此,删除数据库时需要慎重考虑。如果要删除某个数据库,可以先将该数据库备份,然后再进行删除。删除数据库语法格式:dropdatabase[ifexists]db_name;例如:删除数据库mshd。dropdatabasemshd;4.MySQL表相关操作表是数据库中存储数据的基本单位,它由一个或多个字段组成,每个字段需要有对应的数据类型。MySQL数据库中表的管理,包括表的作用、类型,构成、创建、删除和修改等。5.建表原则(1)应按照一定原则对信息进行分类。(2)对表进行规范化设计,以消除表中存在的冗余,保证一个表只围绕一个主题,并使表容易维护。(3)表的命名同一个MySQL数据库的数据表不能同名,表的命名规范如下。1)表名可以使用字母、数字、下画线(_)、#、$等,不能使用空格和其他特殊字符。2)名称最长为64个字符,但会受限于所用操作系统限定的长度。3)MySQL的保留字不能作为表名。4)一般应见名知义,取有意义的名字。6.建表语法格式:createtable[ifnotexists]table_name(字段名称字段类型[完整性约束条件]...)ENGINE=引擎名称CHARSET=’编码方式’;说明:语法格式中“[]”表示可选的。IFNOTEXISTS:如果数据库中已经存在某个表,再来创建一个同名的表,这时会出现错误,为了避免错误信息,可以在创建表的前面加上这个判断,只有该表目前不存在时才执行CREATETABLE操作。table_name:要创建的表名。字段的定义。包括指定字段名、数据类型、是否允许空值,指定默认值、主键约束、唯一性约束、注释字段名、是否为外键,以及字段类型的属性等。7.查看表(1)可以使用SHOWTABLES语句来显示指定数据库中存放的所有表名。语法格式:SHOWTABLES;(2)显示表的结构查看表结构有简单查询和详细查询,可使用DESCRIBE/DESC语句和SHOWCREATETABLE语句语法格式:DESCRIBE表名;DESC表名;SHOWCREATETABLE表名;8.修改表(1)修改表名altertable旧表名rename[to]新表名;(2)添加字段altertable表名add新字段名数据类型[first|after已存在字段名];(3)删除字段altertable表名drop字段名;(4)修改字段数据类型altertable表名modify字段名新数据类型;(5)修改字段altertable表名change原字段名新字段名新数据类型;(6)修改表的存储引擎altertable表名engine=新的存储引擎名;9.复制表表的复制操作包括复制表结构和复制表中的数据,语法格式如下。createtable新表名select*from旧表名;10.删除表对于已经确定不再使用的数据表,可以将其删除。删除一个表时,该表的结构定义、数据、约束、索引都将被永久删除。语法格式如下。droptable[ifnotexists]<table_name1>[,<table_name2>,…];四、课程思政职业素养:培养学生科学严谨的素养,坚韧执着、迎难而上的品质。作业布置1.完成头歌平台实操练习:作业2-1创建数据库和表、作业2-2查看和修改表结构2.做好实验准备课后反思建数据库和表是数据库实施中非常重要的一环,通过讲练结合的方式让学生在理解语法的基础上掌握具体的方法,效果较好。从实际情况来看,学生对命令操作还不熟悉,容易把符号或者关键字写错,需要反复检查修改,但大多数学生能坚持去解决所遇到的问题。从讲解和实践中引导学生要坚韧执着,不轻易放弃,迎难而上。第2页共5页教案编号:09教学单元实验3:数据库与数据表操作课时数3教学单元性质实验授课方式讨论法、练习法支撑的课程目标1.课程目标3:能够用数据库管理工具搭建数据库系统环境,进行数据库项目的实施,对数据库进行操作与管理,,让学生具备一定的数据安全意识。教学目标1.掌握数据库和表创建的方法,能创建数据库和表,并根据需求进行修改。教学重点数据库与数据表操作教学难点数据库与数据表操作时间分配教学过程MIN135一、知识回顾和作业点评1.数据库设计的主要阶段。2.针对实验1中的学生体测数据库设计中存在的共性问题进行点评。如在E-R图和关系模式中都有学生体测项目的成绩,但在表结构设计时确没有相应的成绩表。表中各字段的完整性约束不完整,特别是参照完整性。二、问题引入1.如何使用MySQL创建数据库和表。三、实验目的掌握数据库和表创建的方法,能创建数据库和表,并根据需求进行修改。四、实验内容(1)请用客户端命令方式创建数据库db_company,使用该数据库,并查看其详细信息。(2)修改数据库db_company字符集为gbk。(3)删除数据库db_company。(4)请结合实验1的需求分析和逻辑模型设计,创建数据库SHD及表(至少5张表),包括数据类型,约束等。(5)查看数据库SHD中的所有表。(6)复制tb_user为tb_user1,修改tb_user1的表名为user1,增加一列“管理员email”,字段名为email,数据类型为varchar(30)。(7)删除表user1的字段email,删除表user1。五、实验要求使用SQL语句完成数据库和表的操作,并把运行结果截图。【教师强调】一定要完善数据库表结构的设计,确定设计满足要求后再进行数据库和表的创建。注意主键设计既可以用实体的主码,也可以用代理键;参照完整性约束中字段的定义要相同。六、课程思政培养学生坚持和认真做事的品格,科学严谨的素养。作业布置提交实验报告、预习表数据的更新课后反思使用MySQL创建数据库和表的前提是已知表结构,从学生完成的情况来看,有的学生由于前期表结构设计不合理,导致在创建表之间关系时出现问题。从操作本身来看,学生都掌握了基本的语法,能完成实验内容,主要问题还是书写时单词或标点符号出错,说明还需要加强练习,不断熟悉SQL语句。第2页共5页教案编号:10教学单元数据的增删改课时数3教学单元性质理论授课方式讲授法、讨论法、练习法支撑的课程目标1.课程目标2:能运用数据库原理,SQL语言等知识和技术,进行数据库数据观察和分析,具备实验观察和数据分析能力。教学目标1.掌握MySQL表数据操作的语法格式,能对表数据进行增删改,并观察和分析操作结果。教学重点数据的增删改操作教学难点数据的增删改操作时间分配教学过程MIN135一、作业点评和课程引入1.表创建过程中遇到的问题,特别是完整性约束。2.如何向数据库中新增学生体测的数据?若发现数据有误,如何修改呢?二、新课学习1.MySQL数据操作概述MySQL对数据的操作主要有:添加:向数据库表中添加不存在的记录删除:删除数据库中已存在的记录修改:对已经存在的记录进行更新查询:指数据库管理系统按照数据用户指定的条件,从数据库中相关表中找到满足条件的记录过程。2.讲解演示数据插入INSERT[INTO]tbl_nameVALUES|VALUE(值...)具体插入数据的形式有(1)插入完整的记录(2)向表中的部分字段插入记录(3)一次插入多条记录(4)把另一张表的查询结果插入表中(5)REPLACE语句3.讲解演示数据更新修改数据是更新表中已经存在的记录。通过UPDATE语句来修改数据。UPDATE语句的基本语法形式如下:updatetable_namesetcol_name1=value1,col_name2=value2,…,col_namen=valuen[wherecondition];4.数据删除(1)通过DELETE语句来删除数据。基本语法:DELETEFROM表名[WHERE条件表达式]其中,“表名”参数指明从哪个表中删除数据;“WIHERE条件表达式”指定删除表中的哪些数据。如果没有该条件表达式,数据库系统就会删除表中的所有数据。(2)使用TRUNCATE完全清除某一个表。基本语法:TRUNCATE[TABLE]表名三、学生练习完成头歌闯关中关于表及表数据操作。四、课程思政培养主动学习意识和对终身学习的认同感,科学严谨的素养。作业布置1.完成头歌实操练习:作业2-3增删改表数据2.预习单表查询课后反思本周主要学习表数据的增删改操作,从建数据库和建表逐渐引入,围绕学生体能健康数据库的需求,让学生理解表数据操作。从课堂练习的情况来看,学生在设计表结构时,不太注重数据类型的选择,导致后期录入数据时出错。通过引导学生分析问题,并利用前面修改表的方法去解决问题。同时,因用户对数据的更新要求不尽相同,需要在掌握基本方法的基础上树立主动学习意识去解决新的问题,并实践过程中做到科学严谨。
教案编号:11教学单元单表查询课时数3教学单元性质理论授课方式讲授法、练习法支撑的课程目标1.课程目标2:能运用数据库原理,SQL语言等知识和技术,进行数据库数据观察和分析,具备实验观察和数据分析能力。教学目标1.掌握查询的基本语法和单表查询方法,能通过单表查询实现对数据的观察与分析。教学重点简单查询、条件查询和高级查询教学难点分组、聚合函数等高级查询时间分配教学过程MIN135一、课程引入如何查看学生的体测成绩?二、新课学习查询一般格式为:select[all|distinct]column_listfromtable_name|view_name[wherecondition1][groupbycol_name][havingcondition2][orderbycol_name[ASC|DESC]][limit[offset,]row_count];整个SELECT语句的含义是:根据WHERE子句的条件表达式,从FROM子句指定的基本表或视图中找出满足条件的元组,再按SELECT子句中的目标列表达式,选出元组中的属性值形成结果表。如果有GROUP子句,则将结果按<分组依据列>的值进行分组,该属性列值相等的元组为一个组,每个组产生结果表中的一条记录。通常会在每组中作用集函数。如果GROUP子句带HAVING短语,则只有满足指定条件的组才予输出。如果有ORDER子句,则结果表还要按<排序依据列>的值的升序或降序排序。1.简单查询(1)查询所有字段:查询表中的所有字段的数据两种方式:一种是列出表中的所有字段另一种是使用通配符*来查询(2)查询部分字段(3)为表和字段取别名当查询数据时,MySQL会显示每个输出列的名称。默认的情况下,显示的列名是创建表时定义的列名。SELECT[ALL|DISTINCT]<目标列表达式>[AS][别名][,<目标列表达式>[AS][别名]]..2.选择行查询(1)简单条件查询简单条件查询时,只有一个查询条件。在MySQL中,简单查询中的条件表达式最常用的符号就是比较运算符。MySQL支持的比较运算符有>,<,=!,=(<>),>=,<=。(2)多条件查询用户从数据库表中查询时可能需要满足多个条件,通常使用逻辑运算符或指定集合的方式来编写条件表达式。1)逻辑运算符有AND(&&),OR(||),XOR,NOT(!)2)带IN关键字的查询语法格式[NOT]IN(元素1,元素2,元素3,...)(3)带BETWEENAND关键字的指定范围查询语法规则:[NOT]BETWEEN取值1AND取值2(4)带ISNULL关键字的空值查询ISNULL关键字可以用来判断字段的值是否为空值(NULL).如果字段值为空值,则满足查询条件,否则不满足。 语法规则:IS[not]NULL(5)带LIKE关键字的字符匹配查询字符匹配查询也称作模糊查询,在MySQL中使用Like或者Notlike关键字配合通配符来进行模糊查询。语法规则:[NOT]LIKE“字符串”;(6)消除重复数据在MySQL中,可以在Select子句中加一个Distinct关键字去掉重复的查询记录。3.高级查询(1)分组查询分组查询是按照某个或多个字段对数据进行分组,在MySQL中使用Groupby关键字来实现。若要对分组后的数据进行筛选,还可以配合Having关键字来完成。(2)使用聚合函数MySQL常用的聚合函数有Count()、Sum()、Avg()、Max()和Min()。在实际应用中通常与分组查询一起使用。(3)对查询结果进行排序若需要让查询结果按照指定的字段进行排序,可以使用Orderby关键字。在MySQL中,通过Orderby关键字可以实现按一个或多个字段值的升序(ASC)或降序(DESC)排列,默认情况下是升序。(4)限制查询结果数量在MySQL中,使用Limit关键字可以限制查询结果的返回行数,其语法格式为:Limit[offset_start,]row_conut。其中,offset_start是一个可选参数,表示位置偏移量,用于指定MySQL查询从哪一行开始显示,默认情况下为0;row_conut表示查询的返回记录条数。三、学生练习完成单表查询课堂练习。四、课程思政培养学生科学严谨的素养,主动学习意识和对终身学习的认同感。作业布置1.完成头歌实操练习:作业2-4数据库单表查询和作业2-5使用聚合函数查询2.预习多表查询课后反思本周主要学习数据库的单表查询,以现实问题“找东西”为引例,引导学生理解查询的基本语法,并强调分析查询题目的关键点和注意事项。结合学生体测成绩查询讲解主要的查询操作,从课堂学习情况来看,对于一些查询需求比较明确的题目,学生能分析题目并写出查询语句,但是对于实际业务需求中的查询,题描述比较隐晦,需要学生认真思考,这时学生在分析题目方面就显得比较弱。说明学生分析实际复杂问题的能力还需要训练,一方面着重引导学生分析题目,另一方面采用练中学,学中练的方式,让学生观察和分析实验结果,循序渐进地解决不同的问题,并培养学生主动学习意识和对终身学习的认同感。第2页共5页教案编号:12教学单元多表查询课时数3教学单元性质理论授课方式讲授法、练习法支撑的课程目标1.课程目标2:能运用数据库原理,SQL语言等知识和技术,进行数据库数据观察和分析,具备实验观察和数据分析能力。教学目标1.掌握多表连接查询的语法,能通过多表查询实现对数据的观察与分析。教学重点连接查询和嵌套查询教学难点嵌套查询时间分配教学过程MIN135一、课程导入1.作业点评:高级查询存在的问题,特别是分组查询。2.创设情境查询各班级学生体测成绩;综合订单数据和用户信息分析购买偏好。(1)一张表能查询到所需数据吗?(2)如何进行多表查询?3.检查预习情况(1)多表查询的主要类型(2)多表查询分析的关键点二、新课学习1.教学内容和学习任务2.热身训练(1)查询2020级学生的体测成绩信息。(考查点:普通内连接查询innerjoin…on)(2)查询与陈雪同年级的其他学生的学号和姓名。(考查点:自身连接查询,表的别名)(3)使用外连接查询设备表和管理员表。(考查点:左/右外连接查询left/rightouterjoin…on)(4)查询2019级学生的体测项目成绩。(考查点:带in谓词的子查询)(5)查询有体测成绩的学生学号和姓名。(考查点:带exists谓词的子查询)3.要点总结(1)连接查询分类内连接查询和外连接查询【教师强调】内连接仅选出两张表中互相匹配的记录,而外连接会选出其他不匹配的记录。最常用的是内连接查询。(2)自身连接查询一种特殊的内连接查询,它指连接查询所涉及的两张表在物理上是同一张表,但逻辑上可以看成是两张表。当进行自身连接查询时,一般会给表取别名以示区别。(3)外连接左外连接的查询结果集中包含左表中所有的记录,左表按照连接条件与右表进行连接。若右表中没有满足连接条件的记录,则结果集右表中的对应行数据填充为null(即以左表为基准)。右外连接的查询结果集中包含右表中所有的记录,左表按照连接条件与右表进行连接。若左表中没有满足连接条件的记录,则结果集左表中的对应行数据填充为null(即以右表为基准)。(4)子查询(嵌套查询)是将一个查询语句嵌套在另一个查询语句中。内层查询语句的查询结果,可以作为外层查询语句提供条件。执行时是从内层查询到外层查询。4.难点探究围绕案例,通过讨论、实操和点评的方式引导学生分析解题思路、解决遇到的问题、总结经验。5.总结反思(1)重难点:内连接查询、带in等关键字的嵌套查询(2)方法:先分析,后实操,再检验;多思路解题(3)经验:测试数据要严谨认真细心可少错,提高效率有错多思考,养成独立思考和自学习惯熟能生巧三、课程思政思政融入点:由实操练习引申出独立操作和学习能力的重要性,认真仔细可以减少错误的发生率,同一操作任务可采用多种方式实现,尝试从不同角度解决问题。作业布置1.完成头歌实操练习:作业2-6连接查询和子查询2.预习索引和视图课后反思本周主要学习数据库的多表查询,通过点评上周练习题,引导学生进一步分析理解查询的语法和技巧。创设学生体能测试数据查询和电商数据分析等情境,引入多表查询的学习。采用问答形式,围绕案例针对多表查询的基本应用进行课前学习任务检查,并对重难点问题和学生一起进行探究和点拨。从课堂反馈的情况来看,学生对多表查询的主要语法基本掌握,但还不熟练。在完成练习过程中,由于对表结构不熟悉,在做多表查询时分析连接条件有些困难。绝大多数学生能按要求完成学习任务,教学目标基本达成。同时,由于多表查询有多种解决方法,因此,在实际操作的过程中引导学生不仅要科学严谨,还要多思路去解决问题。在教学过程中通过探究引导和实操练习,学生主动学习意识和对终身学习的认同感有所提升。第2页共5页教案编号:13教学单元索引和视图课时数3教学单元性质理论授课方式讲授法、练习法支撑的课程目标1.课程目标2:能运用数据库原理,SQL语言等知识和技术,进行数据库数据观察和分析,具备实验观察和数据分析能力。教学目标1.理解查询优化的方法,能通过索引和视图的创建与管理进行数据观察与分析。教学重点索引和视图的创建与管理教学难点索引和视图的创建与管理时间分配教学过程MIN135一、作业点评及问题引入1.作业点评:子查询存在的问题。2.问题引入:智能体测系统中,随着用户的增加,数据表中的记录也逐渐增加。当要检索大量数据时,若遍历表中所有记录,则查询所消耗的时间会比较长。不同用户可能具有同样的查询需求。(1)如何提高数据查询的速度,改善数据库性能?(2)如何简化用户操作,满足不同用户相同的查询需求,保证数据安全性?二、新课学习1.索引概述(1)概念索引是一种特殊的数据库结构,其作用相当于一本书的目录,可以用来快速查询数据库表中的特定记录。目的:优化数据库的查询速度。所有MySQL列类型都可以被索引,对相关列使用索引是提高select操作性能的最佳途径。不同的存储引擎定义了每一个表的最大索引数量和最大索引长度,所有存储引擎对每个表至少支持16个索引,总索引长度至少为256字节。(2)分类按存储结构分:索引分为哈希索引、B树索引。【强调】InnoDB和MyISAM支持B树索引,MyISAM支持哈希索引、B树索引但默认的是哈希索引。按索引应用范围和查询需求及字段组成划分:普通索引、唯一索引、主键索引、单列索引、组合索引、全文索引、空间索引。(3)索引的优缺点【强调】索引不是越多越好。2.创建索引(1)直接创建索引1)在创建表的时候创建索引CREATETABLEtbl_name(字段名称字段类型[完整性约束条件],…,[UNIQUE|FULLTEXT|SPATIAL]INDEX|KEY[索引名称](字段名称[(长度)][ASC|DESC]));2)在已存在的表上创建索引create[unique|fulltext|spatial]indexindex_nameontable_name(col_name[(length)][asc|desc]);3)使用altertable语句来创建索引altertabletable_nameadd[unique|fulltext|spatial][index|key][index_name](col_name[(length)][asc|desc]);(2)间接创建索引例如:在表中定义主键约束或者唯一性键约束时,同时也创建了索引。(3)案例演示3.删除索引可以使用ALTERTABLE或DROPINDEX语句来实现。DROPINDEX可以在ALTERTABLE内部作为一条语句处理。语法格式:DROPINDEXindex_nameONtable_name;ALTERTABLEtable_nameDROPINDEXindex_name;ALTERTABLEtable_nameDROPPRIMARYKEY;4.视图概述(1)概念视图是从一个或多个表中导出的表,是一种虚拟存在的表。其内容由查询定义,即视图中的数据并不像表、索引那样需要占用存储空间,视图中保存的仅仅是一条select语句,其数据源来自于数据库表,或者其他视图。(2)作用视图是存储在数据库中的查询的SQL语句,使用它主要出于两种原因:第一是安全原因,视图可以隐藏一些数据;第二是可使复杂的查询易于理解和使用。【强调】视图的优势5.视图操作(1)创建视图使用Createview来创建视图,其语法格式如下:create[orreplace]viewview_name[(column_list)]asselect_statement;示例1:在学生表tb_stu创建视图view_stu_2020,只包含2020级学生的stu_id和stu_name。createviewview_stu_2020asselectstu_id,stu_namefromtb_stuwherestu_grade='2020’;(2)查看视图1)查看视图的结构信息基本语法:describe|descview_name;示例2:查看视图view_stu_2020的结构:descview_stu_2020;2)查看视图的状态信息基本语法:showtablestatuslike'view_name';示例3:查看视图view_stu_2020的状态信息Showtablestatuslike'view_stu_2020'\G3)查看视图的详细信息使用Showcreateview可以查看视图的属性、字符编码等详细信息,语法格式如下:showcreateviewview_name;示例4:查看视图view_stu_2020的详细定义Showcreateviewview_stu_2020\G(3)修改视图1)使用Createorreplaceview修改视图当视图存在时,可对视图进行修改;当视图不存在时,可以创建视图。基本语法格式与参数与前文中创建视图一样。2)使用Alterview修改视图基本语法格式:alterviewview_name[(col_list)]asselect_statement;(4)删除视图使用Dropview删除,其语法格式如下。dropview[ifexists]view_name1[,view_name2,…,view_namen][restrict|cascade];(5)更新视图中的数据由于视图是一张虚表,所以更新视图实质上是对基本表的更新。更新视图的方法与更新基本表一样,可通过insert、update和delete来实现。三、学生实验完成实验4的内容1~4。四、课程思政培养学生科学严谨的素养和认真做事的品格。作业布置完善实验报告,预习实验4剩下的内容课后反思本周内容相对来说比较简单,重在让学生理解索引和视图的意义和操作。从课堂反馈来看,由于学生已掌握了建表和查询等重要技能,所以学习起来相对比较容易。但从实验情况来看,学生对前面的内容有所遗忘,思考的时间较多。第2页共5页教案编号:14教学单元实验4:表数据操作课时数3教学单元性质实验授课方式练习法支撑的课程目标1.课程目标3:能够用数据库管理工具搭建数据库系统环境,进行数据库项目的实施,对数据库进行操作与管理,,让学生具备一定的数据安全意识。教学目标1.掌握MySQL数据库表的数据插入、修改、删除和查询等操作方法,能根据需求用命令方式或图形界面方式对数据库中的数据进行管理。教学重点表数据的插入、修改、删除和查询教学难点数据查询时间分配教学过程MIN135一、要点回顾1.主要的查询操作2.索引和视图3.实验4过程中存在的问题二、学生实验1.实验内容在上次实验的基础上,继续完成实验4。1.根据已有数据,完成如下查询题目。1)查询所有学生的基本信息。2)查询2020级在校学生的学号和姓名。3)查询姓张和姓王的学生信息。4)查询学号为41900112学生成绩的最高成绩、最低成绩和平均成绩(列名显示为最高分、最低分和平均分)。5)统计各个年级的学生人数。6)统计各项体测项目的平均成绩,并按平均成绩的降序排列。7)查询比2020级所有学生的体测项目成绩高的学生的学号。8)查询长跑成绩为空的学生学号和姓名。9)查询没有参加体测项目的学生学号和姓名。10)查询至少参加了三项体测项目且有短跑成绩的学生学号。(6)给学生表的stu_grade字段创建一个普通索引idx_grade。(7)给管理员表的password字段创建一个唯一的索引idx_password,并查看此索引信息。(8)删除索引idx_grade和idx_password。(9)创建视图view_stu0,包含所有女学生的stu_id,stu_name和stu_status,列名显示为学号,姓名和状态。(10)查看视图view_stu0的结构。(11)向视图view_stu0插入一条数据('42100151','陈雪',0)。(12)删除视图view_stu0。【教师引导】首先应熟悉表结构,分析题目要求,找出所涉及的表。2.课后扩展使用Navicat图形化管理工具,完成上述实验内容。三、课程思政培养学生科学严谨的素养和认真做事的品格。作业布置1.撰写提交实验报告2.预习存储过程和触发器课后反思本次课的内容主要涉及到数据的查询操作,从学生完成的情况来看,虽然对于个别题目学生感觉较难,但经过思考后大都能完成,整体完成度较好。第2页共5页教案编号:15教学单元数据库程序化管理课时数3教学单元性质理论授课方式讲授法、练习法支撑的课程目标1.课程目标3:能够用数据库管理工具搭建数据库系统环境,进行数据库项目的实施,对数据库进行操作与管理,,让学生具备一定的数据安全意识。教学目标1.理解存储过程、函数和触发器的概念、区别和联系,能用存储过程和触发器进行程序化管理。教学重点存储过程与函数、触发器的创建与使用教学难点存储过程与函数、触发器的创建与使用时间分配教学过程MIN135一、作业点评针对实验4出现的共性问题进行重难点讲解。二、创设情境1.问题引入例如,要完成一个用户体测成绩修改的处理,一般需要考虑以下几步:(1)在查询之前,首先需要查看学生表中是否有查询的用户;(2)如果学生表中不存在此用户,需要添加用户;(3)如果学生表中存在该用户,需要查询用户成绩,并修改该用户成绩。2.解决方案:可将一个完整操作中所包含的多条SQL语句创建为存储过程或函数,以方便应用。三、知识讲解1.MySQL编程基础2.存储过程与函数概述存储过程和函数可以简单地理解为一组经过编译并保存在数据库中的SQL语句的集合,可以随时被调用。存储程序可以分为存储过程和函数。存储过程和函数的操作主要包括创建存储过程和函数、调用存储过程和函数、查看存储过程和函数,以及修改和删除存储过程和函数。【强调】存储过程与函数的区别3.存储过程与函数操作(1)delimiter命令用命令“Delimiter$$”将SQL语句的结束符由“;”符号修改成“$$”。因SQL语句中默认语句结束符为分号“;”,即存储过程中的SQL语句也需要用分号来结束,当将结束符号修改成“$$”符号后就可以在执行过程中避免冲突。语法格式为:delimiter$$(2)创建存储过程创建存储过程使用SQL语句CREATEPROCEDURE来实现,其语法形式如下:CREATEPROCEDUREproc_name([proc_parameter[,…])[characteristic…]routine_bodyproc_parameter表示存储过程的参数,参数形式如下:[IN|OUT|INOUT]parameter_nameTYPEcharacteristic表示存储过程的特性,可取值及其意义如下:LANGUAGESQL:表示存储过程的routine_body部分使用SQL语言编写。[NOT]DETERMINISTIC:DETERMINISTIC表示存储过程的执行结果是确定的;默认为NOTDETERMINISTIC,表示执行结果不确定。{CONTAINSSQL|NOSQL|READSSQLDATA|MODIFIESSQLDATA}:指明子程序使用SQL语句的限制。SQLSECURITY{DEFINER|INVOKER}:指定可
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农村输电铁塔施工方案(3篇)
- 仿古宗祠房顶施工方案(3篇)
- 仿混凝土围栏施工方案(3篇)
- 人世间营销方案(3篇)
- 企业应急预案演练中暑(3篇)
- 企业个贷营销活动方案(3篇)
- 1-1-4-1-Terphenyl-2-2-4-4-tetracarboxylic-acid-生命科学试剂-MCE
- 南京渗透地坪施工方案(3篇)
- 发生高温事故应急预案(3篇)
- 园林交付施工方案模板(3篇)
- 材料物理知到智慧树章节测试课后答案2024年秋南开大学
- 19G522-1钢筋桁架混凝土楼板图集
- 第一章地球的运动(易考易错单元卷)(解析版)
- DL∕T 1917-2018 电力用户业扩报装技术规范
- 2024年1月自考07484社会保障学试题及答案含解析
- 医疗废弃物无害化处理与资源化利用
- 《运动技能学习与控制》考试复习题库(含答案)
- 露天采矿技术管理
- 内部控制评价与审计案例研究-11-24
- (最准确)工程勘察设计收费标准快速计算表(EXCEL)
- 金坛介绍课件
评论
0/150
提交评论