MySQL基础与实例教程教案.docx

上传人:b****1 文档编号:569150 上传时间:2023-04-29 格式:DOCX 页数:32 大小:26.99KB
下载 相关 举报
MySQL基础与实例教程教案.docx_第1页
第1页 / 共32页
MySQL基础与实例教程教案.docx_第2页
第2页 / 共32页
MySQL基础与实例教程教案.docx_第3页
第3页 / 共32页
MySQL基础与实例教程教案.docx_第4页
第4页 / 共32页
MySQL基础与实例教程教案.docx_第5页
第5页 / 共32页
MySQL基础与实例教程教案.docx_第6页
第6页 / 共32页
MySQL基础与实例教程教案.docx_第7页
第7页 / 共32页
MySQL基础与实例教程教案.docx_第8页
第8页 / 共32页
MySQL基础与实例教程教案.docx_第9页
第9页 / 共32页
MySQL基础与实例教程教案.docx_第10页
第10页 / 共32页
MySQL基础与实例教程教案.docx_第11页
第11页 / 共32页
MySQL基础与实例教程教案.docx_第12页
第12页 / 共32页
MySQL基础与实例教程教案.docx_第13页
第13页 / 共32页
MySQL基础与实例教程教案.docx_第14页
第14页 / 共32页
MySQL基础与实例教程教案.docx_第15页
第15页 / 共32页
MySQL基础与实例教程教案.docx_第16页
第16页 / 共32页
MySQL基础与实例教程教案.docx_第17页
第17页 / 共32页
MySQL基础与实例教程教案.docx_第18页
第18页 / 共32页
MySQL基础与实例教程教案.docx_第19页
第19页 / 共32页
MySQL基础与实例教程教案.docx_第20页
第20页 / 共32页
亲,该文档总共32页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

MySQL基础与实例教程教案.docx

《MySQL基础与实例教程教案.docx》由会员分享,可在线阅读,更多相关《MySQL基础与实例教程教案.docx(32页珍藏版)》请在冰点文库上搜索。

MySQL基础与实例教程教案.docx

MySQL基础与实例教程教案

计算机与信息工程学院

教案

 

2015―2016学年度第1学期

 

课程名称MySQL数据库

主讲教师孔祥盛

授课对象2017计算机科学与技术1、2班

授课时间周一1、2、3、4

授课地点A12-0304A14-0321

教案(首页)

教案编写时间:

课程名称

MySQL数据库

课程代码

总学时:

80学时

讲授:

48学时

上机:

32学时

实验:

0学时

其他:

0学时

学分

2

课程类别

通识教育课()专业基础课()专业课(√)

任意选修课()实践课()其他()

授课对象

2017计算机科学与技术1班2班

教材:

MySQL基础与实例教程孔祥盛人民邮电出版社

主要参考资料:

PHP编程基础与实例教程孔祥盛人民邮电出版社

JavaWeb基础与实例教程孔祥盛人民邮电出版社

教学目的、要求:

教学目的:

本课程是面向计算机相关专业的一门专业基础课,涉及数据库基础知识、MySQL数据库的安装和配置、数据库和表的操作、事务管理、锁管理、存储过程管理、视图管理、函数管理、应用程序开发等内容,通过本课程的学习,学生能够了解数据库的基础知识,掌握MySQL数据库的开发和管理技术,并初步具备应用程序开发能力。

具体如下:

1.了解MySQL的特征及功能,掌握MySQL的基础知识和核心技术。

2.掌握MySQL的安装及配置,熟悉MySQL在应用程序中的作用。

3.掌握MySQL数据库开发的全过程。

 

对课程教学环节的要求:

通过该课程的学习,使学生熟练掌握MySQL命令以及SQL语句,并能熟练应用于中小型动态网站的建设中,在项目实践中提高学生的动手能力和创新能力。

具体如下:

1.在掌握MySQL基本知识的基础上,以能力培养为主线,结合实际开发案例,突出主要知识点,避免泛泛而谈。

2.通过课堂实例练习,提高数据库开发能力,学以致用。

3.通过上机实践,把理论知识与实践相结合,提高学生学习兴趣。

4.引导学生创新、创意;对基本教学案例的功能加以扩展,激发创新意识。

教学重点、难点:

教学重点:

MySQL服务器的配置、MySQL存储引擎的概念、MySQL字符集、存储过程、函数、事务和锁管理。

教学难点:

在学生没有太多编程知识的前提下进行数据库建模,开发小型软件项目。

 

注:

1.本页内容针对所讲授课程的总体情况填写;

2.预留版面不够可另附页。

第1章数据库设计概述

一、教学目的:

【了解】:

本章抛开MySQL讲解关系数据库设计的相关知识,以“选课系统”为例,讲解“选课系统”数据库的设计流程。

【掌握】:

通过本章的学习,学生将具备一定的数据库设计能力

二、教学重点:

教学重点是E-R图的设计。

教学难点是关系数据库的设计。

三、教学难点:

教学难点是关系数据库的设计。

四、教学进程(含教学内容、教学方法、辅助手段、师生互动、时间分配、板书设计、作业布置等):

教学内容:

本章首先介绍数据库概述,然后介绍数据库设计的相关知识,并以选课系统E-R图为例介绍关系数据库的设计过程。

通过本章的学习,读者可以了解关系数据库的设计流程。

教学过程设计:

 新课导入、案例教学、课堂讨论、作业讲评。

 

教学方法:

以多媒体讲授为主,适当结合提问、设问、讨论等方法。

内容提要:

1.1数据库概述

1.1.1关系数据库管理系统

1.1.2关系数据库

1.1.3结构化查询语言SQL

1.2数据库设计的相关知识

1.2.1商业知识和沟通技能

1.2.2数据库设计辅助工具

1.2.3“选课系统”概述

1.2.4定义问题域

1.2.5编码规范

1.3E-R图

1.3.1实体和属性

1.3.2关系

1.3.3E-R图的设计原则

1.4关系数据库设计

1.4.1为每个实体建立一张数据库表

1.4.2为每张表定义一个主键

1.4.3增加外键表示一对多关系

1.4.4建立新表表示多对多关系

1.4.5为字段选择合适的数据类型

1.4.6定义约束(constraint)条件

1.4.7评价数据库表设计的质量

1.4.8使用规范化减少数据冗余

1.4.9避免数据经常发生变化

4、课后小结和布置作业(5分钟)

讨论与思考:

1.数据库管理系统中常用的数学模型有哪些?

2.您听说过的关系数据库管理系统有哪些?

数据库容器中通常包含哪些数据库对象?

3.通过本章知识的讲解,SQL与程序设计语言有什么关系?

4.通过本章的学习,您了解的MySQL有哪些特点?

5.通过本章的学习,您觉得数据库表与电子表格(例如Excel)有哪些区别?

6.您所熟知的数据库设计辅助工具有哪些?

您所熟知的模型、工具、技术有哪些?

7.请您罗列出“选课系统”需要实现哪些功能,使用数据库技术能够解决“选课系统”中的哪些商业问题?

8.您所熟知的编码规范有哪些?

9.您是如何理解“E-R图中实体间的关系是双向的”?

能不能举个例子?

10.E-R图中,什么是基数?

什么是元?

什么是关联?

作业:

1.根据本章的场景描述——“很多团购网站在网上对房源进行出租”的E-R图,请设计该场景描述的数据库表。

2.如果将学生student表设计为如下表结构:

(student_no,student_no,student_name,student_contact,class_no,department_name)

3.请用数据库规范化的知识解释该表是否满足3NF范式的要求?

该表是否存在数据冗余?

是否会产生诸如插入异常、删除异常、修改复杂等数据冗余“并发症”?

4.在“选课系统”中,学生选课时,由于每一门课程受到教室座位数的限制,每一门课程设置了人数上限,如何确保每一门课程选报学生的人数不超过人数上限?

有几种设计方案?

这些设计方案的区别在哪里?

5.“选课系统”有几张表,每个表有哪些字段?

6.依据自己所掌握的知识,描述如何使用数据库技术解决“选课系统”问题域中的问题。

五、主要参考资料:

《PHP编程基础与实例教程》主编:

孔祥盛

《JavaWeb基础与实例教程》主编:

孔祥盛

第2章MySQL基础知识

一、教学目的:

本章将向学生展示一个完整的MySQL数据库开发流程,完整的MySQL数据库开发流程应该包括:

设计数据库表(第一章已经讲过),安装、配置和启动MySQL服务,连接MySQL服务器,设置字符集,创建数据库,选择当前操作的数据库,在当前数据库中创建表(设置存储引擎)、索引、视图、存储过程、触发器等数据库对象,访问数据库表等数据库对象,备份数据库以及恢复数据库等内容。

二、教学重点:

字符集以及字符序设置、MySQL表管理

三、教学难点:

理解系统变量的使用

四、教学进程(含教学内容、教学方法、辅助手段、师生互动、时间分配、板书设计、作业布置等):

教学内容:

本章着重讲述MySQL安装、MySQL服务器配置以及字符集设置,详细讲解MySQL数据库管理以及MySQL表管理等知识。

通过本章的学习,读者可以从整体上认识MySQL的各个知识点。

教学过程设计:

 新课导入、案例教学、课堂讨论、作业讲评。

 

教学方法:

以多媒体讲授为主,适当结合提问、设问、讨论等方法。

内容提要:

2.1MySQL概述

2.1.1MySQL的特点

2.1.2MySQL服务的安装

2.1.3MySQL服务的配置

2.1.4启动与停止MySQL服务

2.1.5MySQL配置文件

2.1.6MySQL客户机

2.1.7连接MySQL服务器

2.2字符集以及字符序设置

2.2.1字符集及字符序概念

2.2.2MySQL字符集与字符序

2.2.3MySQL字符集的转换过程

2.2.4MySQL字符集的设置

2.2.5SQL脚本文件

2.3MySQL数据库管理

2.3.1创建数据库

2.3.2查看数据库

2.3.3显示数据库结构

2.3.4选择当前操作的数据库

2.3.5删除数据库

2.4MySQL表管理

2.4.1MyISAM和InnoDB存储引擎

2.4.2设置默认的存储引擎

2.4.3创建数据库表

2.4.4显示表结构

2.4.5表记录的管理

2.4.6InnoDB表空间

2.4.7删除表

2.5系统变量

2.5.1全局系统变量与会话系统变量

2.5.2查看系统变量的值

2.5.3设置系统变量的值

2.6MySQL数据库备份和恢复

4、课后小结和布置作业(5分钟)

讨论与思考:

1.通过本章的学习,您了解的MySQL有哪些特点?

2.请您简单描述MySQL的使用流程。

什么是MySQL客户机?

登录主机与MySQL客户机有什么关系?

什么是MySQL会话?

3.通过Google或者Baidu搜索引擎,搜索常用的MySQL客户端工具(或者客户机程序)有哪些。

4.MySQL服务、MySQL服务实例、MySQL服务器分别是什么?

什么是端口号?

端口号有什么作用?

5.请列举my.ini配置文件中常用的参数选项组以及参数信息。

6.启动MySQL服务的方法有哪些?

停止MySQL服务的方法有哪些?

7.MySQL客户机连接MySQL服务器的方法有哪些?

连接MySQL服务器时,需提供哪些信息?

8.字符、字符集、字符序分别是什么?

字符序的命名规则是什么?

9.您所熟知的字符集、字符序有哪些?

它们之间有什么区别?

10.请简述MySQL字符集的转换过程。

11.MySQL系统数据库有哪些?

这些系统数据库有什么作用?

12.如果仅仅需要在数据库中存储中文简体字符,那么如何设置MySQL字符集?

作业:

创建student数据库,并在该数据库中创建student表,用于保存您的个人信息(如姓名、性别、身份证号、出生日期等),并完成下列操作或问题。

1)上述的student表有没有出现数据冗余现象?

(提示:

出生日期可以由身份证号推算得出)

2)student数据库目录存放在数据库根目录中,默认情况下,根目录是什么?

3)如何查看student数据库的结构。

4)如何查看student表的结构,并查看该表的默认字符集、字符序、存储引擎等信息。

5)student数据库目录中存放了哪些文件?

数据库根目录中存放了哪些文件?

6)将个人信息插入到student表中,并查询student表的所有记录。

7)在上一步骤的查询结果中是否出现了乱码?

如果出现了乱码,如何避免乱码问题的发生?

如果没有出现乱码,经过哪些设置可以产生乱码?

8)您的个人信息存放到了哪个文件中?

9)如何修改student表的存储引擎?

修改student表的存储引擎后,您的个人信息存放到了哪个文件中?

10)删除student表以及student数据库。

五、主要参考资料:

《PHP编程基础与实例教程》主编:

孔祥盛

《JavaWeb基础与实例教程》主编:

孔祥盛

第3章MySQL表结构的管理

一、教学目的:

本章详细讲解“选课系统”数据库中各个表的实施过程,包括定义表的字段(字段名及数据类型)、约束条件、存储引擎以及字符集、索引等内容。

通过本章的学习,学生可以掌握表结构管理的相关知识。

二、教学重点:

教学重点是MySQL数据类型、创建表、修改表结构。

三、教学难点:

教学难点是理解索引的使用。

四、教学进程(含教学内容、教学方法、辅助手段、师生互动、时间分配、板书设计、作业布置等):

教学内容:

表结构的管理包括创建表(createtable)、修改表结构(altertable)、删除表(droptable)以及索引的管理。

教学过程设计:

 新课导入、案例教学、课堂讨论、作业讲评。

 

教学方法:

以多媒体讲授为主,适当结合提问、设问、讨论等方法。

内容提要:

3.1MySQL数据类型

3.1.1MySQL整数类型

3.1.2MySQL小数类型

3.1.3MySQL字符串类型

3.1.4MySQL日期类型

3.1.5MySQL复合类型

3.1.6MySQL二进制类型

3.1.7选择合适的数据类型

3.2创建表

3.2.1设置约束

3.2.2设置自增型字段

3.2.3其他选项的设置

3.2.4创建“选课系统”数据库表

3.2.5复制一个表结构

3.3修改表结构

3.3.1修改字段相关信息

3.3.2修改约束条件

3.3.3修改表的其他选项

3.3.4修改表名

3.4删除表

3.5索引

3.5.1理解索引

3.5.2索引关键字的选取原则

3.5.3索引与约束

3.5.4创建索引

3.5.5删除索引

4、课后小结和布置作业(5分钟)

讨论与思考:

1.MySQL数据库类型有哪些?

如何选择合适的数据类型?

2.简单总结char(n)数据类型与varchar(n)数据类型有哪些区别。

3.datetime与timestamp数据类型有什么区别?

4.MySQL模式与MySQL复合数据类型有什么关系?

5.创建SQL脚本文件choose.sql,书写SQL代码,运行choose.sql,创建choose数据库的5张表。

作业:

1.分析choose数据库的5张表的表结构,通过这5张表,可以解决“选课系统”问题域中的哪些问题?

2.您是如何理解索引的?

索引越多越好吗?

3.索引关键字的选取原则有哪些?

4.您所熟知的索引种类有哪些?

什么是全文索引?

5.索引与约束有什么关系?

五、主要参考资料:

《PHP编程基础与实例教程》主编:

孔祥盛

《JavaWeb基础与实例教程》主编:

孔祥盛

第4章表记录的更新操作

一、教学目的:

成功创建数据库表后,需要向表插入测试数据,必要时需要对测试数据进行修改和删除,这些操作称为表记录的更新操作。

通过学习,学生可以对表进行更新操作,包括插入、修改和删除记录,为接下来的章节准备测试数据,便于后续章节的学习。

二、教学重点:

教学重点是insert语句、update语句以及delete语句的使用。

三、教学难点:

教学难点是理解MySQL特殊字符序列。

四、教学进程(含教学内容、教学方法、辅助手段、师生互动、时间分配、板书设计、作业布置等):

教学内容:

本章详细讲解“选课系统”的各种更新操作,一方面是为接下来的章节准备测试数据,另一方面希望学生对“选课系统”的各个表结构有更深刻的认识。

教学过程设计:

 新课导入、案例教学、课堂讨论、作业讲评。

 

教学方法:

以多媒体讲授为主,适当结合提问、设问、讨论等方法。

内容提要:

4.1表记录的插入

4.1.1使用insert语句插入新记录

4.1.2更新操作与字符集

4.1.3关于自增型字段

4.1.4批量插入多条记录

4.1.5使用insert…select插入结果集

4.1.6使用replace插入新记录

4.2表记录的修改

4.3表记录的删除

4.3.1使用delete删除表记录

4.3.2使用truncate清空表记录

4.4MySQL特殊字符序列

4、课后小结和布置作业(5分钟)

讨论与思考:

1.NUL与NULL有什么区别?

2.truncate与delete有什么区别?

3.更新操作与字符集有什么关系?

4.数据库表中自增型字段的值一定连续吗?

5.replace语句与insert语句有什么区别?

6.执行了delete语句后,表结构被删除了吗?

使用什么命令可以删除表结构?

作业:

请读者向“选课系统”choose数据库中的选课choose表插入表4-8所示的信息,并完成其他操作。

表4-8向choose表添加的测试数据

choose_no

student_no

course_no

score

choose_time

1

2012001

2

40

服务器当前时间

2

2012001

1

50

服务器当前时间

3

2012002

3

60

服务器当前时间

4

2012002

2

70

服务器当前时间

5

2012003

1

80

服务器当前时间

6

2012004

2

90

服务器当前时间

7

2012005

3

NULL

服务器当前时间

8

2012005

1

NULL

服务器当前时间

(1)学生张三(student_no=2012005)已经选修了课程java程序设计(course_no=1),在选修时间截止前,他想把该课程调换成MySQL数据库(course_no=2),试用SQL语句实现该功能。

提示:

实现调课有两种方法。

第一种方法是直接使用update语句调换课程;第二种方法是先删除张三选修java程序设计的记录,然后再插入张三选修MySQL数据库的记录。

(2)学生田七(student_no=5)已经选修了课程c语言程序设计(course_no=3),由于某种原因,在选修时间截止前,他不想选修该课程了,试用SQL语句实现该功能。

(3)课程结束后,请录入某个学生的最终成绩,最终成绩=(原成绩*70%)+30。

(4)请解释学生的成绩为NULL值的含义,NULL值等于零吗?

五、主要参考资料:

《PHP编程基础与实例教程》主编:

孔祥盛

《JavaWeb基础与实例教程》主编:

孔祥盛

第5章记录的检索

一、教学目的:

通过本章的学习,学生可以从数据库表中检索出自己需要的数据。

二、教学重点:

教学重点是select语句的使用。

三、教学难点:

教学难点是全文检索的使用。

四、教学进程(含教学内容、教学方法、辅助手段、师生互动、时间分配、板书设计、作业布置等):

教学内容:

数据库中最为常用的操作是从表中检索所需要的数据。

本章将详细讲解select语句检索表记录的方法,并结合“选课系统”,讨论该系统部分问题域的解决方法。

教学过程设计:

 新课导入、案例教学、课堂讨论、作业讲评。

 

教学方法:

以多媒体讲授为主,适当结合提问、设问、讨论等方法。

内容提要:

5.1select语句概述

5.1.1使用select子句指定字段列表

5.1.2使用谓词过滤记录

5.1.3使用from子句指定数据源

5.1.4多表连接

5.2使用where子句过滤结果集

5.2.1使用单一的条件过滤结果集

5.2.2isNULL运算符

5.2.3select语句与字符集

5.2.4使用逻辑运算符

5.2.5使用like进行模糊查询

5.3使用orderby子句对结果集排序

5.4使用聚合函数汇总结果集

5.5使用groupby子句对记录分组统计

5.5.1groupby子句与聚合函数

5.5.2groupby子句与having子句

5.5.3groupby子句与group_concat()函数

5.5.4groupby子句与withrollup选项

5.6合并结果集

5.7子查询

5.7.1子查询与比较运算符

5.7.2子查询与in运算符

5.7.3子查询与exists逻辑运算符

5.7.4子查询与any运算符

5.7.5子查询与all运算符

5.8选课系统综合查询

5.9使用正则表达式模糊查询

5.10全文检索

5.10.1全文检索的简单应用

5.10.2全文检索方式

5.10.3布尔检索模式的复杂应用

5.10.4MySQL全文检索的注意事项

5.10.5InnoDB表的全文检索

4、课后小结和布置作业(5分钟)

讨论与思考:

1.简述limit以及distinct的用法。

2.什么是内连接、外连接?

MySQL支持哪些外连接?

3.NULL参与算术运算、比较运算以及逻辑运算时,结果是什么?

4.NULL参与排序时,MySQL对NULL如何处理?

5.您怎样理解select语句与字符集之间的关系?

6.MySQL常用的聚合函数有哪些?

这些聚合函数对NULL值操作的结果是什么?

7.您怎样理解having子句与where子句之间的区别?

8.您怎样理解concat()与group_concat()函数之间的区别?

9.什么是相关子查询与非相关子查询?

10.给定一个教师的工号(例如'001'),统计该教师已经申报了哪些课程。

11.MySQL如何使用like关键字实现模糊查询?

有什么注意事项?

12.MySQL如何使用正则表达式实现模糊查询?

13.MySQL如何进行全文检索?

全文检索有什么注意事项?

14.您觉得全文检索与like模糊查询、正则表达式模糊查询最大的区别是什么?

15.最新版本的MySQL中,InnoDB存储引擎的表支持全文检索吗?

16.MySQL不支持完全连接,您能不能通过其他技术手段实现完全连接的功能?

17.合并结果集时,union与unionall有什么区别?

作业:

1.请编写SQL脚本,输入选课系统综合查询章节内的select语句。

五、主要参考资料:

《PHP编程基础与实例教程》主编:

孔祥盛

《JavaWeb基础与实例教程》主编:

孔祥盛

第6章MySQL编程基础

一、教学目的:

通过学习,学生可以编写复杂的存储程序代码,便于MySQL代码维护,提高MySQL代码的重用性。

二、教学重点:

教学重点是自定义函数以及系统函数的使用。

三、教学难点:

教学难点是中文全文检索的模拟实现。

四、教学进程(含教学内容、教学方法、辅助手段、师生互动、时间分配、板书设计、作业布置等):

教学内容:

本章首先介绍MySQL编程的基础知识,然后讲解自定义函数的实现方法,接着介绍MySQL常用的系统函数,最后结合“选课系统”编写自定义函数,模拟实现了中文全文检索。

教学过程设计:

 新课导入、案例教学、课堂讨论、作业讲评。

 

教学方法:

以多媒体讲授为主,适当结合提问、设问、讨论等方法。

内容提要:

6.1MySQL编程基础知识

6.1.1常量

6.1.2用户自定义变量

6.1.3运算符与表达式

6.1.4begin-end语句块

6.1.5重置命令结束标记

6.2自定义函数

6.2.1创建自定义函数的语法格式

6.2.2函数的创建与调用

6.2.3函数的维护

6.2.4条件控制语句

6.2.5循环语句

6.3系统函数

6.3.1数学函数

6.3.2字符串函数

6.3.3数据类型转换函数

6.3.4条件控制函数

6.3.5系统信息函数

6.3.6日期和时间函数

6.3.7其他常用的MySQL函数

6.4中文全文检索的模拟实现

4、课后小结和布置作业(5分钟)

讨论与思考:

1.使用select语句输出各种数据类型的常量时,数据类型都是如何转换的?

2.系统会话变量与用户会话变量有什么区别与联系?

3.用户会话变量与局部变量有什么区别与联系?

4.为用户会话变量或者局部变量赋值时,有哪些注意事项?

5.编写MySQL存储程序时,为什么需要重置命令结束标记?

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2