计算机类教材 > 数据库技术与应用

MySQL数据库设计与应用(第2版)

书号:9787113300821 套系名称:“十四五”高等职业教育计算机类新形态一体化系列教材

作者:张成叔 出版日期:2023-05-01

定价:49.80 页码 / 开本: /16

策划编辑:翟玉峰 责任编辑:翟玉峰 包宁

适用专业:计算机类 适用层次:高职教育

最新印刷时间:

资源下载
教学课件 教学素材
习题答案 教学案例
教学设计(暂无) 教学视频(暂无)
内容简介 前言 目录 作者介绍 图书特色
  • 本书以 MySQL 8.0 数据库为平台,内容由三部分构成:基础技能部分(第 1~6 章)、提升技能部分(第8~10 章)和综合技能部分(第 7 章和第 11 章)。全书主要包括认识数据库和部署 MySQL 环境,创建和管理数据库,创建和管理数据表,插入、修改和删除数据,单表查询和模糊查询,分组查询和多表查询,阶段项目——QQ 数据库管理,索引、视图和事务,存储过程和触发器,管理和维护数据库,课程项目——银行 ATM 系统的数据库设计与实现等内容。
           本书采用新形态立体化设计,配套了丰富的数字化教学资源,包括微课视频、课程标准、授课计划、电子教案、授课用 PPT、案例素材、项目源代码、习题答案及解析等。本书所配套的大规模在线开放课程(MOOC)已经在“智慧职教 MOOC 学院”上线,教师可以调用本课程构建符合本校教学特色的 SPOC 课程,也可以搭建自己的“线上线下混合式教学”课堂,促进教学模式创新和教学质量提升。
          本书参考了“1+X”职业技能等级证书“Web 前端开发”标准和“世界技能大赛——Web 技术赛项”的赛项规程,适合作为高等职业院校数据库类课程的教材,也适合作为“Web 前端开发”职业技能等级证书的考证培训用书和“世界技能大赛——Web 技术赛项”的集训参考书。
  •         欲闯“IT 江湖”、逐鹿“DT 时代”,必先锋“SQL 利器”!
           大数据(big data,BD)和人工智能(artificial intelligence,AI)是“DT 时代”的先驱。如何有效过滤纷繁复杂的海量数据?如何快速从网上的海量数据中“淘”出有用的信息?本书要解决的主要问题就是“如何存放、如何高效地进行数据库设计和应用”。
        MySQL 数据库是全球最受欢迎的开源数据库软件之一,据网络调查显示,MySQL 数据库市场占有率约 43%。本书采用 MySQL 8.0 版本,符合市场和企业的普遍需求。
           编者在 20 多年的教学实践中深刻体会到“数据库设计与应用”是一门实践性很强的课程,对专业技能提升的影响度高达 80%。经过调查发现:多数学生的体会是“入门感觉很轻松、提升感觉很吃力、应用感觉很可怕”,主要原因体现在“建库建表很轻松、添加约束很迷茫、‘增删改查’不会用、设计项目不可能”。针对这些问题,本书彻底打破市场上大多数教材的编写原则,以数据库管理员、数据库系统开发人员所需的职业岗位能力为标准,以培养“数据库应用、设计、管理和开发”能力为主线,通过“教学做一体化”的内容体系、“项目案例一体化”的技能体系和“新形态一体化”的展示形式,将“理论 + 实训”高度融合,实现了“教—学—做”的有机结合,通过具体项目驱动来提高学生学习的积极性和实践能力。
           本书是在《MySQL 数据库设计与应用》(张成叔主编,中国铁道出版社有限公司出版)的基础上,以习近平新时代中国特色社会主义思想为指导,提升教材内容与宣传贯彻党的二十大精神有机融合,采用“校企双元合作开发”完成,优化了项目案例,整合了第 11 章和第 12 章内容。
           本书具有以下特色:
        1.双元开发,服务为国育才
            本次升级改版,采用“校企双元合作开发”的模式,在原有编写团队中,邀请合作企业腾讯云计算(北京)有限责任公司的刘萌博士和国家“1+X 证书”评价组织东软教育科技集团的金焱高级工程师加入团队。企业工程师主要负责项目的开发和案例的选择,使教材更加符合企业岗位需求和国家提质培优行动计划——校企双元合作开发职业教育教材的要求。
        2.赛证融合,服务国家战略
            结合国家“职业教育综合改革方案”等国家战略,落实“1+X”证书制度,本书参考了“1+X”职业技能等级证书“Web 前端开发”等职业证书考试大纲和“世界技能大赛——Web 技术赛项”的赛项规程,设计了多种形式的练习题目,鼓励学生多思考、多练习、提高综合能力,适应“教考分离”的教学模式,对接国家“学分银行”和终身学习的需求,促进“岗课赛证”的有机融合。
        3.理实一体,服务职业教育
           本书按照“教学做一体化”的思维模式重构内容体系。“数据库设计与应用”是电子信息类专业的核心专业课,承担着将“职业教育理念真正落地”的重任。本书以技能培养为核心任务,按照“螺旋形”的提升模式将内容组织为三部分:基础技能部分(第 1 ~ 6 章)、提升技能部分
    (第 8 ~ 10 章)和综合技能部分(第 7 章和第 11 章)。使得学生从第 1 周开始就练习数据库操作,按照“单个技能点练习—阶段项目技能练习—课程项目技能练习”的练习过程,快速提升学生的专业技能,为“理实一体”的职业教育理念提供教材和资源支撑。
        4.项目贯穿,服务教育教学
            根据培养“项目经验”的核心任务,按照“螺旋形”提升的模式,本书共设计了 4 个项目:分别是课内“教学做”贯穿项目“高校学生成绩管理系统 SchoolDB 数据库”,课外巩固提升项目“图书馆管理系统 LibraryDB 数据库”,阶段项目“QQ 数据库管理”和课程项目“银行 ATM
    系统的数据库设计与实现”。按照“基本技能项目—阶段项目技能—课程项目技能”的练习过程,快速提升学生的专业技能和项目经验。更加符合职业教育的要求,也更加符合教学的规律和学习的规律。
        5.立体设计,服务课程建设
            本书采用新形态立体化设计,配套了丰富的数字化教学资源,包括 78 个微课视频、课程标准、授课计划、电子教案、授课用 PPT、案例素材、项目源代码、习题答案及解析等,学习者可以通过扫描书中的二维码进行微课视频,也可以通过本书配套的数字课程“MySQL 数据库设计与应用”进行“碎片化学习”。丰富了学习手段和形式、提高了学习的兴趣和效率,全方位立体化服务“数据库设计与应用”课程建设。
        6.搭建 MOOC,服务线上线下
            本书所配套的大规模在线开放课程(MOOC)已经在“智慧职教 MOOC 学院”上线,并已经运行了多期,深受全国师生的欢迎。教师可以调用本课程构建符合本校教学特色的 SPOC 课程,也可以搭建自己的“线上线下混合式教学”课堂,促进教学模式创新和教学质量提升。各位读者可以在“智慧职教 MOOC 学院”中搜索后学习,也可扫码下面的二维码加入课程学习。
        MySQL 数据库设计与应用课程二维码
    
           本书保留了第 1 版的框架和体系,内容共分为三部分:基础技能部分、提升技能部分和综合技能部分。
           基础技能部分(第 1 ~ 6 章):第 1 章介绍数据库的基础知识和环境的部署,第 2、3 章分别学习创建和管理数据库、数据表,第 4 章学习使用 SQL 语句操作数据表,第 5、6 章分别学习单表查询、模糊查询、分组查询、连接查询和子查询。
           提升技能部分(第 8 ~ 10 章):第 8 章学习索引、视图和事务,处理较复杂的业务需求,第 9 章学习具有数据库编程功能的存储过程和触发器,第 10 章学习对数据库的管理和维护。
           综合技能部分(第 7 章和第 11 章):第 7 章为阶段技能项目“QQ 数据库管理”,安排在基础技能掌握之后进行阶段性综合技能提升。第 11 章为课程综合技能项目“银行 ATM 系统的数据库设计与实现”,模拟一套 ATM 存取款机系统的存款、取款和转账业务,保证数据的安全性
    和高效性。
          本书由校企双元合作开发完成,由张成叔(安徽财贸职业学院)任主编,刘萌(腾讯云计算(北京)有限责任公司)、张伟伟(安徽财贸职业学院)、陈彩红(山西工程职业学院)、赵艳平(安徽水利水电职业技术学院)、陈旭文(揭阳职业技术学院)、钱春阳(合肥职业技术学院)、胡贵恒(安徽工商职业学院)、王艳(安徽交通职业技术学院)、刘兵(铜陵职业技术学院)和靳继红(焦作师范高等专科学校)任副主编,金焱(东软教育科技集团)、万芳(安徽交通职业技术学院)、代羽(曹妃甸职业技术学院)、杨琳(衢州职业技术学院)、陆慧(安徽财贸职业学院)、朱静(安徽审计职业学院)和刘淑芝(焦作师范高等专科学校)参与编写,第 1 章由张成叔编写,第 2章由张伟伟和万芳编写,第 3 章由陈彩红和代羽编写,第 4 章由赵艳平和杨琳编写,第 5 章由钱春阳和陆慧编写,第 6 章由胡贵恒和朱静编写,第 7 章由刘萌和靳继红编写,第 8 章由王艳和刘淑芝编写,第 9 章由刘兵和刘淑芝编写,第 10 章由陈旭文和代羽编写 , 第 11 章由金焱和张成叔编写。项目案例由张成叔、刘萌、金焱、张伟伟共同开发完成。教材微课视频等数字资源主要由张成叔和张伟伟设计与制作。全书由张成叔统稿和定稿。
          本书所配数字教学资源请从中国铁道出版社有限公司网站(hppt://www.tdpress.com/51eds/)下载或直接与编者联系:微信(QQ):7153265,抖音号:zcs13955155470,E-mail:zhangchsh@163.com。
          本书参考了“1+X”职业技能等级证书“Web 前端开发”标准和“世界技能大赛——Web技术赛项”的赛项规程,适合作为高等职业院校数据库类课程的教材,也适合作为“Web 前端开发”职业技能等级证书的考证培训用书和“世界技能大赛——Web 技术赛项”的集训参考书。
    由于编者水平所限,书中不足之处,请广大读者批评指正。
                              编者 
                2023 年 2 月
  • 第 1 章? 认识数据库和部署 MySQL
     环境 ………………………… 1
    1.1?认识数据库系统 …………………… 2
    1.1.1?数据库基本概念 ………………………2
    1.1.2?常用数据库 ……………………………3
    1.2?认识 MySQL ……………………… 4
    1.2.1?MySQL 简介 …………………………4
    1.2.2?MySQL 版本 …………………………4
    1.3?安装和配置 MySQL 服务器 ……… 5
    1.3.1?下载 MySQL …………………………5
    1.3.2?安装 MySQL …………………………6
    1.3.3?配置 MySQL ……………………… 10
    【技能训练 1-1】在自己的计算机上
    下载、安装和配置 MySQL……………… 17
    1.4?MySQL 图形化管理工具 ………… 18
    1.4.1?MySQL Workbench……………… 18
    1.4.2?Navicat for MySQL ……………… 19
    1.4.3?SQLyog …………………………… 20
    1.4.4?phpMyAdmin …………………… 20
    小结 ……………………………………… 20
    习题 ……………………………………… 21
    第 2 章? 创建和管理数据库 ………… 23
    2.1?连接 MySQL 服务器 ……………… 24
    2.1.1?字符集和校对规则 ………………… 24
    2.1.2?启动 MySQL 服务 ………………… 24
    2.1.3?连接 MySQL 服务器 ……………… 27
    2.1.4?设置 MySQL 字符集 ……………… 27
    【技能训练 2-1】在自己的计算机上启动
    和连接服务器并修改字符集… ………… 29
    2.2?使用 Workbench 连接登录 MySQL
    服务器 ……………………………… 29
    【技能训练 2-2】使用 Workbench 登录
    到自己计算机的 MySQL 服务器………… 33
    2.3?创建和管理 SchoolDB 数据库 …… 34
    2.3.1?创建数据库 ………………………… 34
    【技能训练 2-3】创建 SchoolDB
    数据库… ………………………………… 39
    2.3.2?管理数据库 ………………………… 40
    【技能训练 2-4】管理 SchoolDB
    数据库… ………………………………… 41
    小结 ……………………………………… 42
    习题 ……………………………………… 42
    第 3 章? 创建和管理数据表 ………… 44
    3.1?数据表的完整性 …………………… 45
    3.1.1?实体和记录 ………………………… 45
    3.1.2?数据完整性 ………………………… 46
    3.1.3?主键和外键 ………………………… 47
    3.2?创建和管理数据表 ………………… 47
    3.2.1?数据类型 …………………………… 47
    3.2.2?创建数据表 ………………………… 51
    【技能训练 3-1】创建 SchoolDB 数据库
    中的数据表… …………………………… 56
    3.2.3?管理数据表 ………………………… 57
    3.3?完善数据表的结构设计 …………… 60
    3.3.1?非空约束 …………………………… 61
    3.3.2?唯一约束 …………………………… 61
    3.3.3?主键约束 …………………………… 63
    【技能训练 3-2】为 SchoolDB 数据库中的
    3 张数据表设置非空、唯一和主键约束…… 65
    3.3.4?默认值约束 ………………………… 66
    3.3.5?检查约束 …………………………… 68
    【技能训练 3-3】为 SchoolDB 数据库中的
    两张数据表设置检查约束和默认值约束…… 68
    3.4?建立数据表间关系 ………………… 69
    3.4.1?数据表间的关系图和关系表 ……… 69
    3.4.2?设置外键约束 ……………………… 70
    【技能训练 3-4】为 SchoolDB 数据库中的
    3 张数据表设置外键约束………………… 71
    小结 ……………………………………… 72
    习题 ……………………………………… 73
    第 4 章? 插入、修改和删除数据 …… 76
    4.1?SQL 概述…………………………… 77
    4.1.1?SQL 简介 ………………………… 77
    4.1.2?SQL 组成 ………………………… 77
    4.2?MySQL 运算符 …………………… 78
    4.2.1?算术运算符 ………………………… 78
    4.2.2?关系运算符 ………………………… 79
    4.2.3?逻辑运算符 ………………………… 80
    4.2.4?赋值运算符 ………………………… 81
    4.3?插入数据 …………………………… 81
    4.3.1?插入单条记录 ……………………… 81
    【技能训练 4-1】在 SchoolDB 数据库中,
    为课程表 Subject 插入数据……………… 83
    4.3.2?插入多条记录 ……………………… 85
    【技能训练 4-2】在 SchoolDB 数据库中,
    为成绩表 Result 插入数据… …………… 87
    4.3.3?插入查询的结果 …………………… 90
    4.4?使用 UPDATE 语句修改数据 …… 91
    【技能训练 4-3】在 SchoolDB 数据库中,
    修改数据表中的数据… ………………… 92
    4.5?删除数据 …………………………… 94
    4.5.1?使用 DELETE 语句删除表中记录 … 94
    4.5.2?使用 TRUNCATE 语句清空数据表 … 96
    【技能训练 4-4】在 SchoolDB 的数据表中
    删除不需要的学生记录… ……………… 96
    小结 ……………………………………… 96
    习题 ……………………………………… 97
    第 5 章? 单表查询和模糊查询 …… 100
    5.1?查询基础 ………………………… 101
    5.1.1?使用 SELECT 语句进行查询 … 101
    【技能训练 5-1】对数据库 SchoolDB 的
    数据表进行简单查询… …………………106
    5.1.2?使用 ORDER BY 子句进行
    查询排序 …………………………… 107
    【技能训练 5-2】对数据库 SchoolDB 的
    数据表进行简单查询并排序… …………108
    5.2?使用函数查询数据 ……………… 109
    5.2.1?字符串函数 ……………………… 109
    5.2.2?日期函数 ………………………… 112
    5.2.3?数学函数 ………………………… 113
    【技能训练 5-3】对数据库 SchoolDB 的
    数据表进行简单查询并使用函数… ……114
    【技能训练 5-4】函数综合技能训练……115
    5.3?模糊查询 ………………………… 117
    5.3.1?通配符和模糊查询 ……………… 117
    5.3.2?使用 LIKE 进行模糊查询 ……… 117
    【技能训练 5-5】使用 LIKE 对 SchoolDB
    的数据表进行模糊查询… ………………117
    5.3.3?使用 BETWEEN 在某个范围内
    进行查询 …………………………… 118
    5.3.4?使用 IN 在列举值内进行查询 … 120
    5.4?使用聚合函数进行数据的统计 … 120
    5.4.1?SUM( ) 函数 …………………… 120
    5.4.2?AVG( ) 函数 …………………… 121
    5.4.3?MAX( ) 函数和 MIN( ) 函数…… 122
    5.4.4?COUNT( ) 函数 ………………… 122
    【技能训练 5-6】使用聚合函数对
    SchoolDB 的数据表进行汇总查询………123
    小结 …………………………………… 124
    习题 …………………………………… 125
    第 6 章? 分组查询和多表查询 …… 128
    6.1?分组查询 ………………………… 129
    6.1.1?使用 GROUP BY 进行分组查询 … 129
    【技能训练 6-1】使用 GROUP BY 对
    SchoolDB 的数据表进行分组查询………131
    6.1.2?使用 HAVING 子句进行分组筛选 133
    【技能训练 6-2】使用 HAVING 对
    SchoolDB 的数据表进行分组筛选………135
    6.2?多表查询 ………………………… 136
    6.2.1?内连接查询 ……………………… 136
    【技能训练 6-3】使用内连接对 SchoolDB
    的数据表进行多表查询… ………………140
    6.2.2?外连接查询 ……………………… 142
    【技能训练 6- 4】使用外连接
    对 SchoolDB 的数据表进行多表查询……144
    6.3?子查询 …………………………… 145
    6.3.1?简单子查询 ……………………… 145
    【技能训练 6-5】使用子查询对
    SchoolDB 的数据表进行查询……………148
    6.3.2?IN 子查询 ……………………… 148
    【技能训练 6-6】使用 IN 子查询对
    SchoolDB 的数据表进行查询……………149
    6.3.3?EXISTS 子查询 ………………… 150
    【技能训练 6-7】使用 EXISTS 子查询对
    SchoolDB 的数据表进行查询……………152
    小结 …………………………………… 152
    习题 …………………………………… 153
    第 7 章? 阶段项目——QQ 数据库
     管理 ……………………… 156
    7.1?项目分析 ………………………… 157
    7.1.1?项目概述 ………………………… 157
    7.1.2?开发环境 ………………………… 157
    7.1.3?项目覆盖的技能要点 …………… 157
    7.1.4?项目数据表设计 ………………… 157
    7.2?项目需求及实现 ………………… 159
    7.2.1?创建 QQ 数据库………………… 159
    7.2.2?创建数据表 ……………………… 159
    7.2.3?添加约束 ………………………… 159
    7.2.4?建立表间关系 …………………… 159
    7.2.5?插入测试数据 …………………… 160
    7.2.6?查询数据 ………………………… 161
    7.2.7?修改数据 ………………………… 164
    7.2.8?删除数据 ………………………… 165
    7.3?进度记录 ………………………… 165
    小结 …………………………………… 165
    习题 …………………………………… 166
    第 8 章? 索引、视图和事务 ……… 168
    8.1?索引 ……………………………… 169
    8.1.1?索引的定义 ……………………… 169
    8.1.2?索引分类 ………………………… 169
    8.1.3?创建和应用索引 ………………… 170
    【技能训练 8-1】在 QQ 数据库 QQDB
    上,创建和应用索引… …………………173
    8.1.4?管理索引 ………………………… 174
    【技能训练 8-2】管理 SchoolDB 数
    据库和 QQDB 数据库中的索引…………175
    8.2?视图 ……………………………… 175
    8.2.1?视图概述 ………………………… 175
    8.2.2?创建和应用视图 ………………… 176
    8.2.3?管理视图 ………………………… 179
    【技能训练 8-3】在数据库 SchoolDB 中,
    创建和应用视图… ………………………180
    8.3?事务 ……………………………… 181
    8.3.1?事务概述 ………………………… 181
    8.3.2?事务的价值 ……………………… 182
    8.3.3?事务的处理 ……………………… 184
    【技能训练 8- 4】在数据库 SchoolDB 中,
    使用事务批量插入学生考试成绩,并为
    毕业的学生办理离校手续… ……………187
    小结 …………………………………… 189
    习题 …………………………………… 189
    第 9 章? 存储过程和触发器 ……… 192
    9.1?MySQL 编程基础 ……………… 193
    9.1.1?常量和变量 ……………………… 193
    9.1.2?流程控制语句 …………………… 195
    9.2?存储过程 ………………………… 196
    9.2.1?存储过程概述 …………………… 196
    9.2.2?创建和管理存储过程 …………… 197
    【技能训练 9-1】在 SchoolDB 数据库中,
    通过存储过程实现查询学习了“C 语言
    程序设计”课程所有学生的成绩… ……199
    【技能训练 9-2】在 SchoolDB 数据库中,
    通过带输入参数的存储过程实现查询学习
    了某一门课程所有学生的成绩… ………202
    【技能训练 9-3】在 SchoolDB 数据库中,
    通过带输入参数和输出参数的存储过程,
    实现查询任意一门课程所有学生的成绩,
    并带回该课程的平均分… ………………204
    9.3?触发器 …………………………… 205
    9.3.1?创建触发器 ……………………… 205
    【技能训练 9- 4】在 SchoolDB 数据库中,
    创建一个删除课程表 Subject 中某门课程
    的触发器,并验证有效性… ……………208
    9.3.2?管理触发器 ……………………… 209
    小结 …………………………………… 209
    习题 …………………………………… 210
    第 10 章? 管理和维护数据库 ……… 212
    10.1?数据库的安全管理 …………… 213
    10.1.1?用户管理 ……………………… 213
    10.1.2?权限管理 ……………………… 215
    【技能训练 10-1】管理 SchoolDB 数据库
    的用户和权限… …………………………220
    10.2?备份和恢复数据库 …………… 220
    10.2.1?备份数据 ……………………… 220
    10.2.2?恢复数据 ……………………… 224
    【技能训练 10-2】备份和恢复 SchoolDB
    数据库中的数据… ………………………226
    小结 …………………………………… 227
    习题 …………………………………… 227
    第 11 章? 课程项目——银行 ATM 系统的
    数据库设计与实现 ……… 229
    11.1?数据库设计概述 ……………… 230
    11.1.1?为什么需要数据库设计 ……… 230
    11.1.2?数据库设计步骤 ……………… 231
    11.1.3?数据库的概念设计 …………… 233
    11.1.4?E-R 图向关系模型的转换 …… 236
    11.1.5?数据库设计的规范化 ………… 237
    11.2?项目分析 ……………………… 242
    11.2.1?需求概述 ……………………… 242
    11.2.2?开发环境 ……………………… 242
    11.2.3?项目覆盖的技能要点 ………… 243
    11.2.4?需求分析 ……………………… 243
    11.3?项目需求实现 ………………… 246
    11.3.1?数据库设计 …………………… 246
    11.3.2?创建数据库和登录用户并授权 … 246
    11.3.3?创建数据表并添加约束 ……… 247
    11.3.4?插入测试数据 ………………… 248
    11.3.5?模拟常规业务 ………………… 250
    11.3.6?创建和使用视图以中文标题查询
    输出各表信息 ……………………… 253
    11.3.7?使用存储过程实现开户处理 … 254
    11.3.8?使用事务实现转账功能 ……… 255
    11.4?进度记录 ……………………… 257
    小结 …………………………………… 258
    习题 …………………………………… 259
    参考文献 …………………………… 260
  •   张成叔,安徽财贸职业学院 信息工程学院 院长。全国职业院校技能大赛裁判长,安徽省线上教学名师。中国计算机学会(CCF)高级会员、CCF VC执行委员、CCF传播工委传播大使、CCF VR工作组组长,安徽省高校计算机教育研究会职教专委会副主任。主编教材30余本,其中主编“十二五”国家规划教材《办公自动化技术与应用》、主编“十三五”国家级规划教材《C语言程序设计》、主编“十四五”国家级规划教材《C语言程序设计》和《信息技术基础》。获国家发明专利1项,获安徽省教学成果一等奖4项、二等奖6项、三等奖5项。主持安徽省质量工程和自然科学项目近20项,发表教科研论文20余篇,指导学生获全国技能大赛一等奖3项、安徽省技能大赛一等奖20余项。
  • 本书以数据库管理员、数据库系统开发人员所需的职业岗位能力为标准,以培养“数据库应用、设计、管理和开发”能力为主线,通过“教学做一体化”的内容体系、“项目案例一体化”的技能体系和“新形态一体化”的展示形式,将“理论 + 实训”高度融合,实现了“教—学—做”的有机结合,通过具体项目驱动来提高学生学习的积极性和实践能力。