本教材内容由认识数据库、学习MySQL、设计数据库——电商零售系统、设计数据库——寝室管理系统和设计数据库——图书管理系统5个项目组成。本教材采用3个不同的数据库项目贯穿始末,项目内容贴近工作实际,有很强的实用性,书后提供的大量习题与操作练习以满足学生的学习成果检验及考试复习需要。本教材旨在传授知识、培养能力、塑造价值,让学生在吸收数据库知识、掌握数据库应用技能的同时,在精神层面也能有所收获。本教材同步开发与纸质教材配套的数字化教学资源。
在新时代的浩荡春风中,我们迎来了教育领域的深刻变革与创新。党的二十大报告明确指出,“教育、科技、人才是全面建设社会主义现代化国家的基础性、战略性支撑”,这一重要论断为教育事业的发展指明了方向,明确了深化教育综合改革、科技体制改革、人才发展体制机制改革的重要遵循,对于新时代新征程以中国式现代化全面推进强国建设、民族复兴伟业,具有重要意义。在此背景下,我们精心编写了这本《MySQL数据库项目实例教程》,旨在培养符合新时代需求的高素质技能型人才,为国家的现代化建设贡献力量。
人类社会已经进入海量信息的时代,数据库技术广泛应用于各类信息系统,在社会的各个领域发挥着重要作用。本教材在认真分析软件开发与数据库应用职业岗位需求和学生能力现状的基础上,全面规划和重构教材内容,构建模块化、层次化的课程结构,站在软件开发人员和数据库管理员的角度理解数据库的应用、设计和运维需求,紧密对接专业人才培养目标,培养学生具备一定的数据库理论知识和开发能力。本教材以设计典型的系统数据库为载体,构建基于“需求分析→概念结构设计→逻辑结构设计→数据库的实施→数据库的运行与维护”工作过程的知识内容,设计并开发了典型工作项目;采用基于项目教学的课程教学模式,以任务驱动为主线,以教师为主导,以学生为主体,注重实际操作及理实一体化教学。本教材的知识结构遵循能力递进的教学规律,将真实工作任务转化、优化为课堂实施的教学任务,有利于提高教学效率和教学效果。通过本教材的学习,可以掌握MySQL数据库的开发和管理技术,初步具备应用程序开发能力,并通过学习训练培养方法能力、专业能力和社会能力,提高知识、技能和态度等综合素质。
本教材内容由认识数据库、学习MySQL、设计数据库——电商零售系统、设计数据库——寝室管理系统和设计数据库——图书管理系统5个项目组成。本教材采用3个不同的数据库项目贯穿始末,项目内容贴近工作实际,有很强的实用性,书后提供的大量习题与操作练习以满足学生的学习成果检验及考试复习需要。本教材旨在传授知识、培养能力、塑造价值,让学生在吸收数据库知识、掌握数据库应用技能的同时,在精神层面也能有所收获。本教材同步开发与纸质教材配套的数字化教学资源。
在编写本教材的过程中,编者参考、引用和改编了国内外出版物中的相关资料以及网络资源,在此表示深深的谢意!相关著作权人看到本教材后,请与出版社联系,出版社将按照相关法律的规定支付稿酬。
由于编者水平有限,书中难免有错误和疏漏之处,敬请广大读者批评指正。
编 者
2025年8月
项目1 认识数据库 / 1
任务1.1 了解数据库 / 2
1.1.1 数据库技术的产生与发展 / 2
1.1.2 数据库的基本概念 / 4
任务1.2 数据模型 / 6
1.2.1 数据模型概念 / 6
1.2.2 E-R图 / 7
1.2.3 常见的数据模型 / 8
1.2.4 常见的关系数据库系统 / 10
1.2.5 结构化查询语言(SQL) / 13
任务1.3 关系数据库的规范化 / 13
1.3.1 为什么要进行规范化? / 14
1.3.2 范式 / 14
任务1.4 设计数据库 / 15
1.4.1 什么是数据库系统设计? / 15
1.4.2 需求分析 / 16
1.4.3 概念结构设计 / 17
1.4.4 逻辑结构设计 / 18
1.4.5 物理结构设计 / 18
1.4.6 数据库实施 / 19
1.4.7 数据库运行与维护 / 19
项目实训 / 20
课后习题 / 20
项目2 学习MySQL / 22
任务2.1 了解MySQL / 23
2.1.1 MySQL简介 / 23
2.1.2 MySQL的特点 / 24
2.1.3 MySQL发展历史 / 25
2.1.4 MySQL 8.0版本的主要更新内容 / 25
任务2.2 安装与启动MySQL / 30
2.2.1 MySQL的下载 / 30
2.2.2 MySQL的安装 / 34
2.2.3 启动和关闭MySQL服务 / 43
2.2.4 使用命令行客户端——MySQL Command Line Client / 46
任务2.3 MySQL图形化管理工具 / 48
2.3.1 SQLyog / 48
2.3.2 MySQL Workbench / 50
2.3.3 Navicat for MySQL / 53
任务2.4 MySQL存储引擎 / 54
2.4.1 MySQL存储引擎简介 / 55
2.4.2 MyISAM存储引擎 / 56
2.4.3 InnoDB存储引擎 / 57
2.4.4 MEMORY存储引擎 / 58
2.4.5 如何选取合适的存储引擎? / 58
任务2.5 理解MySQL的数据类型 / 59
2.5.1 整数类型 / 60
2.5.2 小数类型 / 61
2.5.3 字符串类型 / 62
2.5.4 时间日期类型 / 65
2.5.5 集合类型 / 67
项目实训 / 69
课后习题 / 70
目 录
项目3 设计数据库——电商零售系统 / 72
任务3.1 设计数据库 / 73
3.1.1 需求分析 / 73
3.1.2 概念结构设计 / 74
3.1.3 逻辑结构设计 / 76
3.1.4 物理结构设计 / 77
任务3.2 创建数据库与数据表 / 78
3.2.1 使用SQLyog图形化管理工具创建数据库 / 78
3.2.2 使用SQLyog图形化管理工具创建数据表 / 83
3.2.3 使用SQLyog图形化管理工具管理数据表 / 91
3.2.4 使用SQLyog图形化管理工具操作数据表 / 99
任务3.3 数据库的运行与维护 / 102
3.3.1 使用SQLyog图形化管理工具管理用户与权限 / 102
3.3.2 使用SQLyog图形化管理工具备份与恢复数据库 / 106
项目实训 / 109
课后习题 / 109
项目4 设计数据库——寝室管理系统 / 111
任务4.1 设计数据库 / 112
4.1.1 需求分析 / 112
4.1.2 概念结构设计 / 112
4.1.3 逻辑结构设计 / 113
4.1.4 物理结构设计 / 114
任务4.2 创建数据库与数据表 / 115
4.2.1 使用SQL语句创建数据库 / 115
4.2.2 使用SQL语句创建数据表 / 118
4.2.3 使用SQL语句创建数据表的同时定义约束 / 119
4.2.4 使用SQL语句管理数据表 / 127
4.2.5 使用SQL语句操作数据表 / 134
任务4.3 查询数据 / 138
4.3.1 SELECT语句 / 138
4.3.2 单表查询 / 139
4.3.3 多表查询 / 151
4.3.4 子查询 / 158
4.3.5 合并结果集 / 165
任务4.4 运行与维护数据库 / 166
4.4.1 使用SQL语句管理用户与权限 / 166
4.4.2 备份与恢复数据 / 171
项目实训 / 174
课后习题 / 179
项目5 设计数据库——图书管理系统 / 183
任务5.1 设计数据库 / 184
5.1.1 需求分析 / 184
5.1.2 概念结构设计 / 184
5.1.3 逻辑结构设计 / 184
5.1.4 物理结构设计 / 185
任务5.2 创建数据库与数据表 / 187
5.2.1 创建数据库 / 187
5.2.2 创建数据表 / 187
5.2.3 操作数据表 / 189
任务5.3 优化查询数据库 / 194
5.3.1 使用视图优化查询性能 / 194
5.3.2 使用索引优化查询性能 / 199
任务5.4 以程序方式操作数据 / 201
5.4.1 掌握SQL编程基础 / 201
5.4.2 创建与使用存储过程 / 222
5.4.3 创建与使用存储函数 / 231
5.4.4 创建和使用触发器 / 237
5.4.5 事务 / 239
任务5.5 运行与维护数据库 / 242
5.5.1 管理用户与权限 / 242
5.5.2 备份与恢复数据 / 243
项目实训 / 243
课后习题 / 247
参考文献 / 250