本书以任务驱动、案例教学为主要教学方式, 全面讲解MySQL基础知识以及MySQL5.6新特性, InnoDB全文检索、触发器、存储过程、函数、事务、锁等概念, 全部融入该案例。本书尽量将抽象问题形象化、图形化, 复杂问题简单化。即便读者没有任何数据库基础, 也丝毫不会影响数据库知识的学习。
本书采用任务驱动的教学方式,全书贯穿一个完整的MySQL系统开发案例,并针对各章的知识点设计15个课堂实践,方便学生练习和巩固。
本书从数据库技术的实际应用出发,以任务驱动、案例教学为主要教学方式,旨在突出应用型本科和高等职业教育特点,注重培养读者适应信息化社会要求的数据处理能力。本书以提高应用能力为目的,以实际应用案例为主线,具有实例引导、项目驱动的特点,在分析实例的基础上,展开具体实现的过程,使读者切实感受到现实工作的实际需求,充分激发读者的学习主动性,使读者熟练掌握数据库应用的基本知识和技术,提高分析问题、解决问题的能力,提高自主学习能力和获取计算机新知识、新技术的能力。
本书凝结了编者从事数据库教学与开发方面的经验,根据高等职业教育“必需、够用”的原则和读者的特点,按照读者的认知过程编排内容,由浅入深,详略得当。概念、方法、步骤都用实例说明,易于理解。对于数据库各种对象的创建方法和步骤,仅在重要处详细介绍,其他地方从略。
本书系统、全面地介绍了MySQL的实用技术,具有概念清晰、系统全面、精讲多练、实用性强和突出技能培训等特点。全书从数据库的规范化设计开始,通过大量丰富、实用、前后衔接的数据库项目来完整地介绍MySQL数据库技术,可以使读者由浅入深、全面、系统地掌握MySQL数据库管理系统及其应用开发的相关知识。本书围绕“教务管理系统”的实施与管理展开,以理论联系实际的方式,从具体问题分析开始,在解决问题的过程中讲解知识,介绍操作技能。全书共包含15个课堂实践。基本实践任务(数据库的创建与管理,表的创建与管理)侧重于数据库的应用,面向数据库管理员岗位;主要实践任务(数据查询,存储过程和触发器等)侧重于数据高级查询和编程,面向应用软件开发人员。全书的示例均使用SQL语句实施和管理。
本书可作为应用型本科、高等职业教育、高等专科教育、成人教育及各类培训机构的数据库技术教材,也可作为各应用领域数据库管理和开发人员的参考书。
本书由卜耀华、石玉芳编著。许多老师对本书提出了宝贵意见,给予了热情帮助,在此向他们表示感谢。
由于编者水平有限,书中难免有不妥之处,望读者予以指正。
本书的PPT课件等配套资源可以从清华大学出版社网站www.tup.com.cn下载。有关本书及课件使用中的问题和建议,请联系fuhy@tup.tsinghua.edu.cn。
编者
2017年1月
第1章数据库技术基础
1.1数据库系统概述
1.1.1数据库的概念
1.1.2数据管理技术的产生和发展
1.1.3数据库系统的特点
1.2数据模型
1.2.1数据处理的三个世界
1.2.2实体间的联系
1.2.3数据模型的分类
1.2.4关系模型的规范化
1.2.5关系运算
1.3数据库系统结构
1.3.1数据库系统的三级模式结构
1.3.2数据库系统的二级映像
1.4数据库设计基础
1.4.1设计原则
1.4.2设计步骤
1.5需求分析
1.5.1需求分析的任务
1.5.2需求分析的方法
1.5.3数据字典
1.6数据库实施
1.6.1数据的载入和应用程序的调试
1.6.2数据库的试运行
课堂实践:教务管理系统的数据库设计
1.7本章小结
1.8思考与实践
第2章MySQL概述
2.1MySQL的功能及特点
2.1.1MySQL的版本
2.1.2MySQL的特性
2.2MySQL的安装和配置
2.2.1安装MySQL
2.2.2配置MySQL服务器
2.2.3连接服务器
2.3MySQL管理工具
2.3.1MySQLWorkbench管理工具
2.3.2MySQLAdministrator管理器工具
2.3.3MySQLQueryBrowser数据查询工具
2.3.4MySQLMigrationToolkit数据库迁移工具
课堂实践:MySQL的简单应用
2.4本章小结
2.5思考与实践
第3章数据库的创建与管理
3.1MySQL数据库简介
3.1.1数据库的构成
3.1.2数据库文件
3.1.3数据库对象
3.1.4数据库对象的标识符
3.2管理数据库
3.2.1创建数据库
3.2.2查看已有的数据库
3.2.3打开数据库
3.2.4修改数据库
3.2.5删除数据库
3.2.6使用MySQLWorkbench管理数据库
课堂实践:创建和管理教务管理系统数据库
3.3本章小结
3.4思考与实践
第4章表的创建与管理
4.1表概述
4.1.1表的概念
4.1.2表的类型
4.1.3表的数据类型
4.1.4表的设计
4.2创建和管理表
4.2.1创建表
4.2.2查看表的信息
4.2.3修改表结构
4.2.4删除表
4.3表数据操作
4.3.1添加数据
4.3.2更新数据
4.3.3删除数据
课堂实践1:创建教务管理系统数据表
4.4创建和管理索引
4.4.1索引概述
4.4.2创建索引
4.4.3查看索引
4.4.4删除索引
4.5数据完整性
4.5.1数据完整性的分类
4.5.2数据完整性的实现
4.5.3使用约束
课堂实践2:教务管理系统中表的约束管理
4.6本章小结
4.7思考与实践
第5章数据查询与视图管理
5.1简单查询
5.1.1SELECT语句结构
5.1.2SELECT子语句
5.1.3WHERE子语句
5.1.4ORDERBY子语句
5.1.5GROUPBY子语句
5.1.6HAVING子语句
课堂实践1:简单查询的应用
5.2连接查询
5.2.1内连接
5.2.2外连接
5.2.3交叉连接
5.2.4自连接
5.2.5多表连接
课堂实践2:连接查询的应用
5.3子查询
5.3.1IN子查询
5.3.2比较运算符子查询
5.3.3ANY或ALL子查询
5.3.4EXISTS子查询
课堂实践3:子查询的应用
5.4联合查询
5.4.1UNION操作符
5.4.2UNION操作符和JOIN操作符的区别与联系
5.5视图管理
5.5.1视图概述
5.5.2创建视图
5.5.3更新视图
5.5.4删除视图
课堂实践4:教务管理系统中视图管理的应用
5.6本章小结
5.7思考与实践
第6章SQL语言基础
6.1SQL基础
6.1.1标识符
6.1.2注释
6.1.3数据类型
6.1.4常量与变量
6.1.5操作符
6.1.6表达式
6.2函数
6.2.1系统函数
6.2.2存储函数
6.3流程控制语句
6.3.1顺序控制语句
6.3.2分支控制语句
6.3.3循环控制语句
6.4游标
6.4.1游标的概念
6.4.2游标的使用
课堂实践:游标在教务管理系统中的应用
6.5本章小结
6.6思考与实践
第7章存储过程和触发器
7.1存储过程
7.1.1存储过程概述
7.1.2创建存储过程
7.1.3管理存储过程
7.1.4存储过程中的异常处理
课堂实践1:创建查询选课记录的存储过程
7.2触发器
7.2.1触发器概述
7.2.2创建触发器
7.2.3管理触发器
课堂实践2:创建一个插入事件触发器
7.3事件
7.3.1创建事件
7.3.2管理事件
7.4本章小结
7.5思考与实践
第8章数据库安全管理
8.1MySQL的安全性
8.1.1MySQL安全性概述
8.1.2MySQL安全管理等级
8.2用户管理
8.2.1创建用户
8.2.2修改用户名和密码
8.2.3删除用户
8.3权限管理
8.3.1权限概述
8.3.2授予权限
8.3.3收回权限
8.3.4查看权限
课堂实践1:创建数据管理员用户
8.4日志文件
8.4.1二进制日志
8.4.2错误日志
8.4.3通用查询日志
8.4.4慢查询日志
8.5数据备份与恢复
8.5.1数据备份
8.5.2数据恢复
课堂实践2:备份教务管理系统数据库
8.6本章小结
8.7思考与实践
第9章事务与锁
9.1事务
9.1.1事务概述
9.1.2事务操作
9.2锁
9.2.1并发问题
9.2.2事务的隔离级别
9.2.3MySQL中的锁定
课堂实践:定义一个学生选课的事务
9.3本章小结
9.4思考与实践
第10章数据库应用开发实例
10.1系统分析
10.1.1开发背景
10.1.2需求分析
10.2系统设计
10.2.1系统功能设计
10.2.2数据库设计
10.2.3开发环境选择
10.3系统实现
10.3.1数据库访问设计
10.3.2登录模块设计
10.3.3图书借阅管理模块设计
10.3.4系统主模块设计
10.4本章小结
10.5思考与实践
参考文献