MySQL数据库教学大纲.docx
《MySQL数据库教学大纲.docx》由会员分享,可在线阅读,更多相关《MySQL数据库教学大纲.docx(16页珍藏版)》请在冰豆网上搜索。
MySQL数据库教学大纲
《MySQL数据库》教学大纲
课程编码:
0611100805
课程名称:
MySQL数据库
学时/学分:
80学时/5学分
先修课程:
《计算机导论》、《程序设计基础》
适用专业:
计算机科学与技术
开课教研室:
软件工程教研室
一、课程性质与任务
1.课程性质:
随着数据库技术的不断发展,关系型数据库已成为市场主流。
由于MySQL数据库具有稳定、可靠、简单、安全而且开源等特性,MySQL数据库成为了关系型数据库的佼佼者,受到越来越多的用户青睐。
MySQL数据库目前被广泛应用于各个行业中,MySQL数据库工程师也因为其工作的重要性和技术性拥有了良好的待遇和广阔的发展前景。
通过本课程的学习,学生可以了解MySQL数据库的结构原理和相关知识,掌握MySQL数据库日常操作和维护的技能,并具备一定数据库开发的能力。
2.课程任务:
本课程是面向计算机相关专业的一门专业基础课,涉及数据库基础知识、MySQL数据库的安装和配置、数据库和表的操作、事务管理、锁管理、存储过程管理、视图管理、函数管理、应用程序开发等内容,通过本课程的学习,学生能够了解数据库的基础知识,掌握MySQL数据库的开发和管理技术,并初步具备应用程序开发能力。
具体如下:
(1)了解MySQL的特征及功能,掌握MySQL的基础知识和核心技术。
(2)掌握MySQL的安装及配置,熟悉MySQL在应用程序中的作用。
(3)掌握MySQL数据库开发的全过程。
教学重点和难点:
教学重点:
MySQL服务器的配置、MySQL存储引擎的概念、MySQL字符集、存储过程、函数、事务和锁管理。
教学难点:
在学生没有数据库知识、没有太多编程知识的前提下进行数据库建模,开发小型软件项目。
二、课程教学基本要求
对课程教学环节的要求:
通过该课程的学习,使学生熟练掌握MySQL命令以及SQL语句,并能熟练应用于中小型动态网站的建设中,在项目实践中提高学生的动手能力和创新能力。
具体如下:
1.在掌握MySQL基本知识的基础上,以能力培养为主线,结合实际开发案例,突出主要知识点,避免泛泛而谈。
2.通过课堂实例练习,提高数据库开发能力,学以致用。
3.通过上机实践,把理论知识与实践相结合,提高学生学习兴趣。
4.引导学生创新、创意;对基本教学案例的功能加以扩展,激发创新意识。
三、课程教学内容
第一章数据库设计概述
1.教学基本要求
本章抛开MySQL讲解关系数据库设计的相关知识,以“选课系统”为例,讲解“选课系统”数据库的设计流程。
2.要求学生掌握的基本概念、理论、技能
通过本章的学习,学生将具备一定的数据库设计能力。
3.教学重点和难点
教学重点是E-R图的设计。
教学难点是关系数据库的设计。
4.教学内容
(1)数据库概述
主要知识点:
关系数据库管理系统;关系数据库;结构化查询语言SQL。
(2)数据库设计的相关知识
主要知识点:
商业知识和沟通技能;数据库设计辅助工具;“选课系统”概述;定义问题域;编码规范。
(3)E-R图
主要知识点:
实体和属性;关系;E-R图的设计原则。
(4)关系数据库设计
主要知识点:
为每个实体建立一张数据库表;为每张表定义一个主键;增加外键表示一对多关系;建立新表表示多对多关系;为字段选择合适的数据类型;定义约束(constraint)条件;评价数据库表设计的质量;使用规范化减少数据冗余;避免数据经常发生变化。
第二章MySQL基础知识
1.教学基本要求
本章将向学生展示一个完整的MySQL数据库开发流程,完整的MySQL数据库开发流程应该包括:
设计数据库表(第一章已经讲过),安装、配置和启动MySQL服务,连接MySQL服务器,设置字符集,创建数据库,选择当前操作的数据库,在当前数据库中创建表(设置存储引擎)、索引、视图、存储过程、触发器等数据库对象,访问数据库表等数据库对象,备份数据库以及恢复数据库等内容。
2.要求学生掌握的基本概念、理论、技能
通过本章的学习,学生可以掌握一些常用的MySQL命令,通过这些命令,学生可以对MySQL数据库进行一些简单的管理。
3.教学重点和难点
教学重点是字符集以及字符序设置、MySQL表管理。
教学难点是理解系统变量的使用。
4.教学内容
(1)MySQL概述
主要知识点:
MySQL的特点;MySQL服务的安装;MySQL服务的配置;启动与停止MySQL服务;MySQL配置文件;MySQL客户机;连接MySQL服务器。
(2)字符集以及字符序设置
主要知识点:
字符集及字符序概念;MySQL字符集与字符序;MySQL字符集的转换过程;MySQL字符集的设置;SQL脚本文件。
(3)MySQL数据库管理
主要知识点:
创建数据库;查看数据库;显示数据库结构;选择当前操作的数据库;删除数据库。
(4)MySQL表管理
主要知识点:
MyISAM和InnoDB存储引擎;设置默认的存储引擎;创建数据库表;显示表结构;表记录的管理;InnoDB表空间;删除表。
(5)系统变量
主要知识点:
全局系统变量与会话系统变量;查看系统变量的值;设置系统变量的值;MySQL数据库备份和恢复。
第三章MySQL表结构的管理
1.教学基本要求
本章详细讲解“选课系统”数据库中各个表的实施过程,包括定义表的字段(字段名及数据类型)、约束条件、存储引擎以及字符集、索引等内容。
表结构的管理包括创建表(createtable)、修改表结构(altertable)、删除表(droptable)以及索引的管理。
2.要求学生掌握的基本概念、理论、技能
通过本章的学习,学生可以掌握表结构管理的相关知识。
3.教学重点和难点
教学重点是MySQL数据类型、创建表、修改表结构。
教学难点是理解索引的使用。
4.教学内容
(1)MySQL数据类型
主要知识点:
MySQL整数类型;MySQL小数类型;MySQL字符串类型;MySQL日期类型;MySQL复合类型;MySQL二进制类型;选择合适的数据类型。
(2)创建表
主要知识点:
设置约束;设置自增型字段;其他选项的设置;创建“选课系统”数据库表;复制一个表结构。
(3)修改表结构
主要知识点:
修改字段相关信息;修改约束条件;修改表的其他选项;修改表名;删除表。
(4)索引
主要知识点:
理解索引;索引关键字的选取原则;索引与约束;创建索引;删除索引。
第四章表记录的更新操作
1.教学基本要求
成功创建数据库表后,需要向表插入测试数据,必要时需要对测试数据进行修改和删除,这些操作称为表记录的更新操作。
本章详细讲解“选课系统”的各种更新操作,一方面是为接下来的章节准备测试数据,另一方面希望学生对“选课系统”的各个表结构有更深刻的认识。
2.要求学生掌握的基本概念、理论、技能
通过学习,学生可以对表进行更新操作,包括插入、修改和删除记录,为接下来的章节准备测试数据,便于后续章节的学习。
3.教学重点和难点
教学重点是insert语句、update语句以及delete语句的使用。
教学难点是理解MySQL特殊字符序列。
4.教学内容
(1)表记录的插入
主要知识点:
使用insert语句插入新记录;更新操作与字符集;关于自增型字段;批量插入多条记录;使用insert…select插入结果集;使用replace插入新记录。
(2)表记录的修改
(3)表记录的删除
主要知识点:
使用delete删除表记录;使用truncate清空表记录。
(4)MySQL特殊字符序列。
第五章表记录的检索
1.教学基本要求
数据库中最为常用的操作是从表中检索所需要的数据。
本章将详细讲解select语句检索表记录的方法,并结合“选课系统”,讨论该系统部分问题域的解决方法。
2.要求学生掌握的基本概念、理论、技能
通过本章的学习,学生可以从数据库表中检索出自己需要的数据。
3.教学重点和难点
教学重点是select语句的使用。
教学难点是全文检索的使用。
4.教学内容
(1)select语句概述
主要知识点:
使用select子句指定字段列表;使用谓词过滤记录;使用from子句指定数据源;多表连接。
(2)使用where子句过滤结果集
主要知识点:
使用单一的条件过滤结果集;isNULL运算符;select语句与字符集;使用逻辑运算符;使用like进行模糊查询。
(3)使用orderby子句对结果集排序
(4)使用聚合函数汇总结果集
(5)使用groupby子句对记录分组统计
主要知识点:
groupby子句与聚合函数;groupby子句与having子句;groupby子句与group_concat()函数;groupby子句与withrollup选项。
(6)合并结果集
(7)子查询
主要知识点:
子查询与比较运算符;子查询与in运算符;子查询与exists逻辑运算符;子查询与any运算符;子查询与all运算符。
(8)选课系统综合查询
(9)使用正则表达式模糊查询
(10)全文检索
主要知识点:
全文检索的简单应用;全文检索方式;布尔检索模式的复杂应用;MySQL全文检索的注意事项;InnoDB表的全文检索。
第六章MySQL编程基础
1.教学基本要求
本章首先介绍MySQL编程的基础知识,然后讲解自定义函数的实现方法,接着介绍MySQL常用的系统函数,最后结合“选课系统”编写自定义函数,模拟实现了中文全文检索。
2.要求学生掌握的基本概念、理论、技能
通过学习,学生可以编写复杂的存储程序代码,便于MySQL代码维护,提高MySQL代码的重用性。
3.教学重点和难点
教学重点是自定义函数以及系统函数的使用。
教学难点是中文全文检索的模拟实现。
4.教学内容
(1)MySQL编程基础知识
主要知识点:
常量;用户自定义变量;运算符与表达式;begin-end语句块;重置命令结束标记。
(2)自定义函数
主要知识点:
创建自定义函数的语法格式;函数的创建与调用;函数的维护;条件控制语句;循环语句。
(3)系统函数
主要知识点:
数学函数;字符串函数;数据类型转换函数;条件控制函数;系统信息函数;日期和时间函数;其他常用的MySQL函数。
(4)中文全文检索的模拟实现。
第七章视图与触发器
1.教学基本要求
作为常用的数据库对象,视图(view)为数据查询提供了一条捷径;触发器(trigger)为数据自动维护提供了便利。
本章首先讲解视图以及触发器的管理及使用,然后结合“选课系统”分别介绍视图以及触发器在该系统中的应用。
2.要求学生掌握的基本概念、理论、技能
通过本章的学习,学生可以掌握如何使用视图简化数据查询操作,以及如何使用触发器实现表记录的自动维护、表之间复杂关系的自动维护。
3.教学重点和难点
教学重点是视图、触发器、临时表、派生表的使用。
教学难点是子查询、视图、临时表、派生表的区别和联系。
4.教学内容
(1)视图
主要知识点:
创建视图;查看视图的定义;视图在“选课系统”中的应用;视图的作用;删除视图;检查视图;local与cascade检查视图。
(2)触发器
主要知识点:
准备工作;使用触发器实现检查约束;使用触发器维护冗余数据;使用触发器模拟外键级联选项;查看触发器的定义;删除触发器;使用触发器的注意事项。
(3)临时表
主要知识点:
临时表的创建、查看与删除;“选课系统”中临时表的使用;使用临时表的注意事项。
(4)派生表(derivedtable)
(5)子查询、视图、临时表、派生表
第八章存储过程与游标
1.教学基本要求
MySQL存储过程实现了比MySQL函数更为强大的功能,数据库开发人员可以将功能复杂、使用频繁的MySQL代码封装成MySQL存储过程,从而提高MySQL代码的重用性。
本章主要讲解如何在MySQL中使用存储过程,内容包括存储过程的创建以及调用、MySQL异常处理机制、游标以及MySQL预处理等方面的知识,并结合“选课系统”讲解这些知识在该系统中的应用,最后本章对存储程序做了总结。
2.要求学生掌握的基本概念、理论、技能
通过学习,学生可以编写更为复杂的业务逻辑代码,为今后设计更为复杂的应用系统奠定坚实的基础。
3.教学重点和难点
教学重点是存储过程、错误触发条件、游标和预处理SQL语句的使用。
4.教学内容
(1)存储过程
主要知识点:
创建存储过程的语法格式;存储过程的调用;“选课系统”的存储过程查看存储过程的定义;删除存储过程;存储过程与函数的比较。
(2)错误触发条件和错误处理
主要知识点:
自定义错误处理程序;自定义错误触发条件;自定义错误处理程序说明。
(3)游标
主要知识点:
使用游标;游标在“选课系统”中的使用。
(4)预处理SQL语句
主要知识点:
预处理SQL语句使用步骤;“选课系统”中预处理SQL语句的使用;预处理SQL语句的复杂应用;静态SQL语句与预处理SQL语句;存储程序的说明。
第九章事务机制与锁机制
1.教学基本要求
数据库与文件系统的最大区别在于数据库实现了数据的一致性以及并发性。
对于数据库管理系统而言事务机制与锁机制是实现数据库一致性与并发性的基石。
本章探讨了数据库中事务机制与锁机制的必要性,讲解了如何在数据库中使用事务机制与锁机制实现数据的一致性以及并发性,并结合“选课系统”讲解事务机制与锁机制在该系统中的应用。
2.要求学生掌握的基本概念、理论、技能
通过本章的学习,希望学生了解事务机制与锁机制的重要性,掌握使用事务机制以及锁机制实现多用户并发访问的相关知识。
3.教学重点和难点
教学重点是如何理解事务机制以及锁机制。
教学难点是事务的ACID特性。
4.教学内容
(1)事务机制
主要知识点:
事务机制的必要性;关闭MySQL自动提交;回滚;提交;事务;保存点;“选课系统”中的事务。
(2)锁机制
主要知识点:
锁机制的必要性;MySQL锁机制的基础知识;MyISAM表的表级锁;InnoDB表的行级锁;“选课系统”中的行级锁;InnoDB表的意向锁;InnoDB行级锁与索引之间的关系;间隙锁与死锁;死锁与锁等。
(3)事务的ACID特性
主要知识点:
事务的ACID特性;事务的隔离级别与并发问题;设置事务的隔离级别;使用间隙锁避免幻读现象;事务与锁机制注意事项。
第十章网上选课系统的开发
1.教学基本要求
结合之前章节开发的“选课系统”数据库,借助软件工程的思想,本章选用PHP脚本语言开发网上选课系统。
2.要求学生掌握的基本概念、理论、技能
通过本章的讲解,学生更清楚地了解应用程序的开发流程以及数据库在应用程序中举足轻重的地位。
3.教学重点和难点
教学重点是新闻发布系统系统编码实施、软件开发生命周期SDLC。
教学难点是网上选课系统的系统实施。
4.教学内容
(1)PHP预备知识
主要知识点:
为何选用B/S结构以及PHP脚本语言;PHP脚本语言概述;PHP脚本程序的工作流程;Web服务器的部署;注意事项。
(2)软件开发生命周期SDLC
(3)网上选课系统的系统规划
主要知识点:
网上选课系统的目标;网上选课系统的可行性分析;网上选课系统的项目进度表;网上选课系统的人员分工。
(4)网上选课系统的系统分析
主要知识点:
网上选课系统的功能需求分析;网上选课系统的非功能需求分析。
(5)网上选课系统的系统设计
(6)网上选课系统的系统实施
主要知识点:
准备工作;制作PHP连接MySQL服务器函数;制作PHP权限系统函数;首页index.php的开发;教师注册模块的开发;登录模块的开发;注销模块的开发;添加班级模块的开发;学生注册模块的开发;密码重置模块;申报课程模块;课程列表显示模块;审核申报课程;取消已审核课程;浏览自己申报的课程;删除课程;学生选修或者调换已经审核的课程;查看自己选修的课程;取消选修课程;查看课程的学生信息列表;查看选修人数少于30人的课程信息。
(7)界面设计与MVC模式
(8)网上选课系统的测试
四、学时分配表
1.讲授内容及学时分配:
章序
内容
课时
备注
一
数据库设计概述
4
二
MySQL基础知识
4
三
MySQL表结构的管理
4
四
表记录的更新操作
2
五
表记录的检索
4
六
MySQL编程基础
6
七
视图与触发器
4
八
存储过程与游标
4
九
事务机制与锁机制
6
十
网上选课系统的开发
10
合计
48
2.实践内容及学时分配
序号
项目
名称
内容提要
学时
必/选开
1
数据库设计概述
ER图的设计
2
必做
2
MySQL基础知识
MySQL的安装与配置
2
必做
3
MySQL表结构的管理
MySQL表结构的管理
Createtable语句的使用
Altertable语句的使用
2
必做
4
表记录的更新操作
表记录的insert、update、delete操作
2
必做
5
表记录的检索
Select语句的使用
全文索引的使用
4
必做
6
MySQL编程基础
MySQL自定义变量的使用
自定义函数的使用
4
必做
7
视图与触发器
定义视图
使用视图
定义触发器
使用触发器
2
必做
8
存储过程与游标
定义存储过程
调用存储过程
定义游标
使用游标
4
必做
9
事务机制与锁机制
定义事务机制
使用锁机制
4
必做
10
网上选课系统的开发
服务器的部署
网上选课系统的实施
6
必做
合计
32
五、教材及参考书
(一)教材:
《MySQL数据库基础与实例教程》主编:
孔祥盛出版社:
人民邮电出版社出版时间:
2014年。
(二)参考书:
1.《PHP编程基础与实例教程》主编:
孔祥盛出版社:
人民邮电出版社出版时间:
2011年。
2.《深入浅出MySQL数据库开发、优化与管理维护》主编:
唐汉明等出版社:
人民邮电出版社出版时间:
2008年。
3.《MySQL技术内幕》主编:
姜承尧出版社:
机械工业出版社出版时间:
2013年。
六、考核方式与成绩评定办法
本课程为考试课程。
考核方式一:
期末考试采用百分制的闭卷考试模式。
学生的考试成绩由平时成绩(30%)和期末考试(70%)组成,其中,平时成绩由出勤次数、作业上交次数等组成。
考核方式二:
本课程实用性强,主要考核学生的实践操作能力。
考核方式选用论文答辩机制。
学生的考试成绩由平时成绩(30%)和答辩成绩(70%)组成,其中,平时成绩由出勤次数、作业上交次数等组成。
七、大纲说明
本课程的授课模式为:
课堂授课+上机。
其中,课堂主要采用多媒体的方式进行授课,并且会通过测试题阶段测试学生的掌握程度;上机主要是编写SQL语句及数据库操作,要求学生动手完成指定的数据库操作。
执笔:
孔祥盛
审定:
(教研室主任签字)(院系部负责人签字)