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