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

MySQL数据库设计与应用

书号:9787113274269 套系名称:“十四五”高等职业教育规划教材

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

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

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

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

最新印刷时间:2022-01-10

资源下载
教学课件 教学素材
习题答案 教学案例(暂无)
教学设计(暂无) 教学视频(暂无)
内容简介 前言 目录 作者介绍 图书特色
  • 本书以MySQL数据库为平台,内容共分3个部分:基础技能部分(第1~6章)、提升技能部分(第8~11章)和综合技能部分(第7章和第12章)。本书主要内容包括认识数据库和部署MySQL环境,创建和管理数据库,创建和管理数据表,用SQL语句操作数据表,单表查询和模糊查询,分组查询和多表查询,阶段项目——QQ数据库管理,索引、视图和事务,存储过程,管理和维护数据库,数据库设计与优化,课程项目——银行ATM系统数据库的设计与实现。
    本书配套有微课视频、课程标准、授课计划、电子教案、授课用PPT、课后习题解析、项目案例及源代码等数字化资源,本书配套的大规模在线开放课程将在“智慧职教MOOC学院”(网址:https://mooc.icve.com.cn)上线,授课教师可以通过本课程构建符合自身教学特点和要求的SPOC课程,各位读者可以通过链接或者在“智慧职教MOOC学院”中搜索课程名称学习。
    本书参考了“1+X”职业技能等级证书“Web前端开发”标准,适合作为高等职业院校数据库类课程的教材,也适合作为“Web前端开发”职业技能等级证书的考证培训用书。
    
  • 欲闯“IT江湖”、逐鹿“DT时代”,必先锋“SQL利器”!
    大数据(BD,big data)和人工智能(AI,artificial intelligence)是“DT时代”的先驱。如何有效过滤纷繁复杂的海量数据、如何快速从网上的海量数据中“淘”出有用的信息,所以“如何存放、如何高效地进行数据库设计和查询”是本书要解决的核心问题。
    数据库技术主要研究如何存储、使用和管理数据。数年来,数据库技术和计算机网络技术的发展相互渗透、相互促进,已成为当今计算机领域发展迅速、应用广泛的两大领域。因此,掌握数据库技术是计算机及相关专业必备的专业基础。
    在主流数据库软件中,MySQL是全球最受欢迎的开源数据库软件之一。早在2000年左右,MySQL在所有开发者使用的数据库中获得了20%的市场份额,2019年的市场占有率接近39%,稳居市场榜首,远超Oracle和SQL Server等数据库。
    编者在近20年的教学实践中深刻体会到“数据库设计与应用”是一门实践性很强的课程,对专业技能提升的影响度高达80%。经过调查发现:多数学生的体会是“入门感觉很轻松、提升感觉很吃力、应用感觉很可怕”,主要原因体现在“建库建表很轻松、添加约束很迷茫、‘增删改查’不会用、设计项目不可能”。针对这些问题,本书彻底打破市场上大多数教材的编写原则,以数据库管理员、数据库系统开发人员所需的职业岗位能力为标准,以培养“数据库应用、设计、管理和开发”能力为主线,通过“教学做一体化”的内容体系、“项目案例一体化”的技能体系和“新形态一体化”的展示形式,将“理论+实训”高度融合,实现了“教—学—做”的有机结合,通过具体项目提高学生学习的积极性。
    本书主要特色:
    ?“教学做一体化”的内容体系。突破传统的以知识结构体系为架构的思维,按照“教学做一体化”的思维模式重构内容体系,为“理实一体”的职业教育理念提供教材和资源支撑。
    ?“项目案例一体化”的技能体系。按照“互联网+”的思维模式:“实用主义永远比完美主义更完美”,实用才能体现一门课程的价值。根据培养“项目经验”的核心任务,按照“螺旋形”提升的模式,本书共设计了4个项目:分别是课内“教学做”贯穿项目“高校学生成绩管理系统SchoolDB数据库”,课外巩固提升项目“图书馆管理系统LibraryDB数据库”,阶段项目“QQ数据库管理”和课程项目“银行ATM系统数据库的设计与实现”。按照“基本技能项目—阶段项目技能—课程项目技能”的练习过程,快速提升学生的专业技能和项目经验。
    ?“新形态一体化”的展示形式。本书在配套相关课程教学方案、电子教案、课件和源文件的基础上,采用“新形态一体化”的方式展示,在书中以二维码的形式引用了张成叔老师主讲的微课视频,共计60个,读者使用手机扫描二维码即可观看和学习,丰富了学习手段和形式、提高了学习的兴趣和效率。本书配套的大规模在线开放课程将在“智慧职教MOOC学院”(网址:https://mooc.icve.com.cn)上线,授课教师可以通过本课程构建符合自身教学特点和要求的SPOC课程,各位读者可以在“智慧职教MOOC学院”中搜索课程名称学习。
    本书内容共分3个部分:基础技能部分、提升技能部分和综合技能部分。
    基础技能部分(第1~6章):第1章介绍数据库的基础知识和环境部署;第2、3章分别学习创建和管理数据库、数据表;第4章学习使用SQL语句操作数据表;第5、6章分别学习单表查询、模糊查询、分组查询、连接查询和子查询。
    提升技能部分(第8~11章):第8章学习索引、视图和事务,处理较复杂的业务需求,并确保处理数据的高效性和安全性;第9章学习具有数据库编程功能的存储过程和触发器;第10章学习对数据库的管理和维护;第11章学习数据库的设计和规范化,实现数据库的优化。
    综合技能部分(第7章和第12章):第7章为阶段技能项目“QQ数据库管理”,安排在基础技能掌握之后进行阶段性综合技能提升;第12章为课程综合技能项目“银行ATM系统数据库的设计与实现”,模拟一套ATM存取款机系统,模拟银行日常的存款、取款和转账业务,保证数据的安全性和高效性。
    
    本书由张成叔(安徽财贸职业学院)任主编,沙有闯(安徽国防科技职业学院)、张伟伟(安徽财贸职业学院)、范媛媛(焦作师范高等专科学校)、万芳(安徽交通职业技术学院)、钱春阳(合肥职业技术学院)、赵艳平(安徽水利水电职业技术学院)、刘兵(铜陵职业技术学院)、胡贵恒(安徽工商职业学院)、陈彩红(山西工程职业学院)和朱静(安徽审计职业学院)任副主编,陆慧(安徽财贸职业学院)、胡配祥(安徽财贸职业学院)、胡龙茂(安徽财贸职业学院)、张倩(安徽财贸职业学院)、米西峰(焦作师范高等专科学校)、王彦昆(焦作师范高等专科学校)和靳继红(焦作师范高等专科学校)参加编写,第1章由沙有闯编写,第2章由张伟伟编写,第3章由刘兵编写,第4章由钱春阳编写,第5章由王彦昆编写,第6章由范媛媛编写,第7章由万芳编写,第8章由赵艳平编写,第9章由胡贵恒编写,第10章由陈彩红编写,第11章由朱静编写,第12章由张成叔编写。项目案例和配套资源库由张成叔、张伟伟、胡龙茂、胡配祥、靳继红、米西峰、陆慧和张倩共同开发完成。教材微课视频主要由张成叔和张伟伟设计与制作。全书由张成叔统稿和定稿。
    本书所配教学资源请从中国铁道出版社有限公司网站(hppt://www.tdpress.com/51eds/)下载或直接与编者联系,微信(QQ):7153265;微信公众号:张成叔;E-mail:zhangchsh@163.com。
    本书参考了“1+X”职业技能等级证书“Web前端开发”标准,适合作为高等职业院校数据库类课程的教材,也适合作为“Web前端开发”职业技能等级证书的考证培训用书。
    限于编者水平,书中不足之处在所难免,请广大读者批评指正。
    编 者
    2020年10月
    
  • 第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 检查约束 66
    【技能训练3-3】为SchoolDB数据库中的两张数据表设置检查约束 68
    3.4 建立数据表间关系 68
    3.4.1 数据表间的关系图和关系表 68
    3.4.2 设置外键约束 69
    【技能训练3-4】为SchoolDB数据库中的3张数据表设置外键约束 71
    小结 72
    习题 72
    第4章    用SQL语句操作数据表 75
    4.1 SQL概述 76
    4.1.1 SQL简介 76
    4.1.2 SQL组成 76
    4.2 MySQL运算符 77
    4.2.1 算术运算符 77
    4.2.2 关系运算符 78
    4.2.3 逻辑运算符 79
    4.2.4 赋值运算符 80
    4.3 插入数据 80
    4.3.1 插入单条记录 80
    【技能训练4-1】在SchoolDB数据库中,为课程表Subject插入数据 82
    4.3.2 插入多条记录 84
    【技能训练4-2】在SchoolDB数据库中,为成绩表Result插入数据 86
    4.3.3 插入查询的结果 89
    4.4 使用UPDATE语句修改数据 90
    【技能训练4-3】在SchoolDB数据库中,修改数据表中的数据 91
    4.5 删除数据 93
    4.5.1 使用DELETE语句删除表中记录 93
    4.5.2 使用TRUNCATE语句清空数据表 95
    【技能训练4-4】在SchoolDB的数据表中,删除不需要的学生记录 95
    小结 95
    习题 96
    第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章    分组查询和多表查询 129
    6.1 分组查询 130
    6.1.1 使用GROUP BY进行分组查询 130
    【技能训练6-1】使用GROUP BY对SchoolDB的数据表进行分组查询 132
    6.1.2 使用HAVING子句进行分组筛选 134
    【技能训练6-2】使用HAVING对SchoolDB的数据表进行分组筛选 136
    6.2 多表查询 137
    6.2.1 内连接查询 137
    【技能训练6-3】使用内连接对SchoolDB的数据表进行多表查询 141
    6.2.2 外连接查询 143
    【技能训练6-4】使用外连接对SchoolDB的数据表进行多表查询 145
    6.3 子查询 146
    6.3.1 简单子查询 146
    【技能训练6-5】使用子查询对SchoolDB的数据表进行查询 149
    6.3.2 IN子查询 149
    【技能训练6-6】使用IN子查询对SchoolDB的数据表进行查询 150
    6.3.3 EXISTS子查询 151
    【技能训练6-7】使用EXISTS子查询对SchoolDB的数据表进行查询 153
    小结 153
    习题 154
    第7章    阶段项目——QQ数据库管理 159
    7.1 项目分析 160
    7.1.1 项目概述 160
    7.1.2 开发环境 160
    7.1.3 项目覆盖的技能要点 160
    7.1.4 项目数据表设计 160
    7.2 项目需求及实现 162
    7.2.1 创建QQ数据库 162
    7.2.2 创建数据表 162
    7.2.3 添加约束 162
    7.2.4 建立表间关系 162
    7.2.5 插入测试数据 163
    7.2.6 查询数据 164
    7.2.7 修改数据 167
    7.2.8 删除数据 168
    7.3 进度记录 168
    小结 168
    习题 169
    第8章    索引、视图和事务 172
    8.1 索引 173
    8.1.1 索引的定义 173
    8.1.2 索引分类 173
    8.1.3 创建和应用索引 174
    【技能训练8-1】在QQ数据库QQDB上,创建和应用索引 177
    8.1.4 管理索引 178
    【技能训练8-2】管理SchoolDB数据库和QQDB数据库中的索引 179
    8.2 视图 179
    8.2.1 视图概述 179
    8.2.2 创建和应用视图 180
    8.2.3 管理视图 183
    【技能训练8-3】在数据库SchoolDB中,创建和应用视图 184
    8.3 事务 185
    8.3.1 事务概述 185
    8.3.2 事务的价值 186
    8.3.3 事务的处理 188
    【技能训练8-4】在数据库SchoolDB中,使用事务批量插入学生考试成绩,并处理毕业的学生办理离校手续 191
    小结 193
    习题 193
    第9章    存储过程 196
    9.1 MySQL编程基础 197
    9.1.1 常量和变量 197
    9.1.2 流程控制语句 199
    9.2 存储过程 200
    9.2.1 存储过程概述 200
    9.2.2 创建和管理存储过程 201
    【技能训练9-1】在SchoolDB数据库中,通过存储过程实现查询学习了“C语言程序设计”课程所有学生的成绩 203
    【技能训练9-2】在SchoolDB数据库中,通过带输入参数的存储过程实现查询学习了某一门课程所有学生的成绩 206
    【技能训练9-3】在SchoolDB数据库中,通过带输入参数和输出参数的存储过程,实现查询任意一门课程所有学生的成绩,并带回该课程的平均分 208
    9.3 触发器 209
    9.3.1 创建触发器 209
    【技能训练9- 4】在SchoolDB数据库中,创建一个删除课程表Subject中某门课程的触发器,并验证有效性 212
    9.3.2 管理触发器 213
    小结 213
    习题 214
    第10章    管理和维护数据库 216
    10.1 数据库的安全管理 217
    10.1.1 用户管理 217
    10.1.2 权限管理 219
    【技能训练10-1】管理SchoolDB数据库的用户和权限 224
    10.2 备份和恢复数据库 224
    10.2.1 备份数据 224
    10.2.2 恢复数据 228
    【技能训练10-2】备份和恢复SchoolDB数据库中的数据 230
    小结 231
    习题 231
    第11章    数据库设计与优化 233
    11.1 数据库设计概述 234
    11.1.1 为什么需要数据库设计 234
    11.1.2 数据库设计步骤 235
    11.2 宾馆管理系统的概念设计 237
    11.2.1 实体-关系模型 237
    11.2.2 关系数据库模式 240
    【技能训练11-1】为图书管理系统绘制实体-联系图(E-R图) 240
    11.3 宾馆管理系统的逻辑设计 240
    11.3.1 E-R图向关系模型的转换 240
    11.3.2 绘制数据库模型图 242
    【技能训练11-2】绘制图书管理系统数据库模型图 244
    11.4 宾馆管理系统的数据规范化 244
    11.4.1 设计问题 244
    11.4.2 规范设计 245
    【技能训练11-3】以3NF为目标规范化图书管理系统数据库设计 249
    小结 250
    习题 250
    第12章    课程项目——银行ATM系统
    数据库的设计与实现 252
    12.1 项目分析 253
    12.1.1 需求概述 253
    12.1.2 开发环境 253
    12.1.3 项目覆盖的技能要点 253
    12.1.4 需求分析 254
    12.2 项目需求实现 256
    12.2.1 数据库设计 256
    12.2.2 创建数据库和登录用户并授权 257
    12.2.3 创建数据表并添加约束 257
    12.2.4 插入测试数据 258
    12.2.5 模拟常规业务 260
    12.2.6 创建和使用视图以中文标题查询输出各表信息 263
    12.2.7 使用存储过程实现开户处理 264
    12.2.8 使用事务实现转账功能 265
    12.3 进度记录 267
    小结 268
    习题 268
    参考文献…… 270
    
  • 张成叔,安徽商贸职业技术学院
  • 教学做一体化”的内容体系
    “项目案例一体化”的技能体系
    “新形态一体化”的展示形式