数据库原理及应用教程(MySQL版)

一本配套资源丰富的MySQL数据库教材
分享 推荐 14 收藏 485 阅读 24.1K
陈志泊 (作者) 978-7-115-57710-8

关于本书的内容有任何问题,请联系 孙澍

1.传承与发展
传承国家级规划教材--《数据库原理及应用教程(SQL Server版)》的特色和优势,面向“新工科”复合人才培养需要,立足MySQL 8.*,构建能力驱动为导向的教材知识结构。
2.资源与平台
结合不同受众学习和工作需要,搭建满足“学、教、用”多方需求的教材和配套资源,完善在线交流、学习、实践讨论平台,促进教材持续改进。
3.教学与实践
提供重点、难点微课视频,支持混合式教学,构建统一设计案例,多渠道培养学生解决复杂数据库系统问题能力,助力读者数据库关键能力的养成。
4.服务与交流
人邮教育交流平台提供资源下载,中国大学MOOC平台提供相关MOOC资源,其他教学交流可加入本书交流QQ群(QQ群号:775076740)。

内容摘要

本书基于MySQL8,系统介绍了数据库技术的原理和技术应用方法。全书知识结构合理、重难点突出,符合教学和读者认知规律。全书包括数据库概念、数据库操作、数据库优化和管理、数据库设计和数据库编程5个篇章。其中,设计篇通过统一电商子系统案例介绍数据库设计步骤。编程篇讲授Python语言连接MySQL方法。
本书内容循序渐进、深入浅出、条理性强。每章均附有习题和思维导图,帮助读者巩固所学知识。提供了重要知识和操作的视频,读者可扫码观看。
本书附有丰富配套资源,包括实验资源、教学用课件、习题参考答案等,读者可在人邮教育社区(www.ryjiaoyu.com)下载。本书还可配套中国大学MOOC网站的“数据库原理及应用”课程使用(https://www.icourse163.org/course/BFU-1003381003)。
本书可作为高等院校计算机及相关专业教材,也可供从事计算机软件工作的科技人员、工程技术人员及其他有关人员参阅。

前言

前 言

数据库及其相关技术是计算机应用中一个非常活跃、发展迅速、应用广泛的领域。随着物联网、云计算、移动互联网、社交媒体等信息技术的飞速发展,数据资源急剧膨胀,如何解决实际业务领域中数据管理的相关技术问题,并利用数据库管理系统对这些数据资源进行科学地组织、存储、检索、维护和共享,是当前“数据库”类课程的主要教学内容。
目前,“数据库”课程由于其课程知识适用范围广、技术实用性强、知识门槛低等特点,已成为计算机类、电子信息类、管理类专业的核心骨干课,同时,也成为其他工科门类、农林类、生物技术类专业的选修课。诸多专业推荐学生选修至少一门“数据库”类课程,为学生开展领域数据建模、相关数据库系统设计以及领域科研数据分析和挖掘等工作奠定基础。
在国家大数据战略背景下,面对科技革命和产业变革,依托“新工科”、“新农科”等中国特色人才培养模式,面向不同领域、专业的“数据库”复合应用型人才培养需要,开展“数据库”类教材建设尤为重要。目前,围绕MySQL的数据库书籍可分为教材类和技术类两种,前者主要面向教学,但存在一定程度的“重理论、轻实践”等问题,后者大多依据MySQL官方文档,内容缺乏逻辑性、学习重点不突出。针对以上问题,为满足各类院校“MySQL数据库类”课程教学需要以及社会从业人员学习需要,结合国家级规划教材《数据库原理及应用教程(SQL Server)》的教学改革效果和北京市优质本科课程的建设成果,以数据库技术应用场景为主线,对数据库操作、管理运维、设计和编程内知识进行筛选和重构,辅以教师教学服务资源、读者学习辅助资源和实践教学资源,编写了《数据库原理及应用教程(MySQL)》版教材。
●写作背景
本书主编于2003年带领教学团队从事行业类院校计算机类和非计算机类专业“数据库”教学改革和教材建设工作,先后20年连续4次再版了《数据库原理及应用教程(SQL Server)》。教材使用广受好评,先后被70余所大学选为“数据库”类课程教材,并入选“十一五”普通高等教育本科国家级规划教材和普通高等学校计算机教育“十二五”规划教材。第四版教材自出版以来,3年年均发行1万余册。2018年课程团队依托教材参加全国生态文明信息化教学成果遴选,获得A级奖项(最高为A级别)。2019年,在中国大学MOOC平台配套教材建设的MOOC课程获得校级在线精品课。2020年,教材支撑的“数据库系统”课程获得北京市优质本科课程称号。在获得多项荣誉认可后,教材编写团队继续坚持“持续改进、服务社会”的教材建设理念,对标国家“自主可控”战略布局,依托“应用场景驱动”的数据库教学改革理念,重构和优化原有教材内容进行,强化实践操作型和设计型章节,形成了以数据库基本概念、数据库操作、数据库运维管理、数据库设计和数据库编程为篇章的《数据库原理及应用教程(MySQL)》教材。
●本书内容
本书共5个篇章、17章内容,即依托MySQL 8.*又不拘泥于具体的DBMS,先后介绍了关系型数据库基本概念、使用SQL语句管理关系数据库、表和数据查询方法、数据库优化和运维管理技术、数据库设计和规范化步骤以及MySQL数据库高级编程方法。
第1篇章介绍了关系数据库的基本概念,主要包括:数据库技术的发展、数据库内部和外部体系结构、数据模型、关系数据库的形式化定义和数据库完整性等;
第2篇章介绍了SQL语言操作库、表和数据以及使用MySQL 工具实现相关操作的方法,主要包括:SQL语言的标准、使用SQL语言和MySQL Workbench实现数据库、表和数据的增加、修改和删除、使用单表查询、多表查询和子查询实现复杂数据查询的方法等;
第3篇章介绍了数据库优化和运维技术,主要包括:索引技术及其应用场景、视图技术及其使用方法,MySQL索引和视图的使用方法、MySQL权限管理系统、并发控制方法、MySQL备份还原和日志管理方法等;
第4篇章介绍了数据库设计方法,主要包括:数据库系统的设计步骤、数据库系统及案例需求分析、数据库系统及案例的概念和结构设计、范式级别判定和关系规范化方法、数据库系统及案例的物理设计及运维。
第5篇章介绍了数据库高级编程方法,主要包括:MySQL存储过程、MySQL常用函数、MySQL触发器的使用、使用Python语言连接数据库等。
本书在提供理论教学内容基础上,还提供面向授课教师、学生、社会工作者的多种辅助教学资源。面向授课教师,提供教材习题解答、混合式教学任务书、教学用课件、实验任务指导书和课程思政资源。面向学生提供重难点和关键知识点讲解的二维码视频、其他DBMS使用教程、各章知识思维导图和配套的中国大学MOOC资源。面向社会工作者,提供课程先续知识的辅助教程、配套的中国大学MOOC资源等。本书第一篇为其他章节提供理论基础,第2篇、第3篇和第4篇内容独立,第五篇依赖于第2篇内容,教师或读者可根据教学需要,组织课程教学,社会工作者可根据学习需要,个性化选择和深入学习所需知识。
●本书特色
1. 立足“新工科”背景下复合型应用型人才培养需要,打造以数据库技术应用场景为主线的知识结构。
2. 构建了以数据库概念原理、体系结构、新技术为基础知识支撑,以数据库操作、设计、运维管理和编程等对标数据库技术应用场景的知识结构,支撑“工程知识运用”、“数据库建模和操作问题分析”、“数据库设计及管理方案求解”、“现代数据库建模和操作工具使用”以及“团队协作开发”等人才培养目标达成。
3. 本书的SQL Server版先先后被评为“北京高等教育精品教材”、“普通高等教育‘十一五’国家级规划教材”、“‘十二五’普通高等教育本科国家级规划教材”。以教材为核心的课程资源建设荣获“首届国家林业和草原局全国生态文明信息化教程成果A等级(最高级)”、“北京市优质本科课程”和“校级精品在线课”。
4. 对标数据库技术发展,立足“自主可控”开源软件教学需要,基于MySQL8.*版本组织相关知识,但教材不拘泥于MySQL 8.*数据库管理系统,部分教材兼容MySQL 5.*版本和其他主流关系型数据库管理系统,方便各类高等院校和从业人员按需使用教材。
5. 教材通过借助“一题多解”、“语句模式分析”、教学管理数据库设计统一案例驱动”和“技术适用场景研讨分析”等能力强化手段,助力读者数据库关键能力的养成,为读者开展数据库系统研发和科学研究工作奠定基础。
6. 突破传统教材模式,搭建以“教材”为核心、满足开源教育理念的教学生态资源,促进教材持续改进。充分吸纳新的教学手段,在中国大学MOOC和出版社交流平台,开发了理论和实践操作视频、实验和实践任务指导、学习指导、其他DBMS辅助教材、教学用课件、习题参考答案和课程设计等服务资源,方便教材的不同受众结合学习和工作需要,个性化定制和选择所需的配套教学资源。
7. 为深化数据库技术实践能力培养,使学生“学懂、弄通、做实”数据库知识、技术和解决方案,团队围绕课程的理论知识和实践任务,打造以配套的实验指导教材,该教材计划于2022年3月出版。
●使用指南
本教材不仅包含一般关系型数据库原理和技术的内容,还包含了MySQL 8.*的使用方法,授课教师选用本书进行讲解时,可按照培养方案中规定的学时和知识点要求,筛选课堂讲授的知识点以及线下自行学习内容。
下面“学时建议表”按照32学时和40学时的给出授课建议,学时分配方案仅供参考。教师可根据培养方案中规定的理论学时和实践学时要求,自行对给出的建议学时进行划分。
学时建议表
章节 总学时32学时 总学时40学时
第1篇章 数据库概念篇 4 4
第2篇章 数据库操作篇 10 12
第3篇章 数据库优化和管理篇 6 8
第4篇章 数据库设计篇 8 10
第5篇章 数据库编程篇 4 6
选用了本书的授课教师,可以通过人邮教育社区(www.ryjiaoyu.com),免费下载本书配套的实验教学和实践教学任务指导、混合式教学指导、教学大纲、与教材配套的其他DBMS辅助教学资源、混合式教学和一般线下类教学用课件、主客观习题参考答案、教材中代码和数据库文件等。同时,还可与本书责任编辑联系,获取数据库类课程思政教学资源和实验参考答案。
与本书中各篇章内容相关“数据库院级与应用”(SQL Server版)已经在中国大学MOOC网站发布,该课每学年开课2轮,网址是https://www.icourse163.org/course/BFU-1003381003。授课教师可利用中国大学MOOC网站提供的免费慕课堂平台,关联线上的“数据库原理与应用”课程,开展混合式教学,数据库基本概念、原理、通用SQL库、表、数据操作方法以及数据库设计的基本步骤等知识通过MOOC讲授,MySQL有关数据库运维和优化、数据库高级编程等方面的差异性内容及MySQL实践类课程线下讲授。同时,也可直接使用MOOC课程,辅助线下教学内容,方便学生利用碎片化时间,开展课程的预习和复习工作。读者也可以利用MOOC课程按需学习所需内容。
本书在撰写过程中,参考了大量已出版的优秀数据库类教材和相关的网络资料,对MySQL数据库原理及应用技术相关的内容按应用场景进行了系统梳理,有选择性地把一些重要或实用的知识纳入本书。由于笔者能力有限,难免存在不足之处,望广大读者不吝赐教。

陈志泊
北京林业大学 信息学院
2021年9月

详情页

目录


第1章 数据库系统概述 2
1.1 数据库基本概念和数据库技术发展 2
1.1.1 信息、数据、数据处理和数据管理 2
1.1.2 数据库技术的发展 3
1.2 数据库系统的组成 7
1.3 数据库系统的体系结构 11
1.3.1 数据库系统的内部体系结构 11
1.3.2 数据库系统的外部体系结构 13
1.4 三个世界及有关概念 14
1.4.1 现实世界 14
1.4.2 信息世界 14
1.4.3 计算机世界 16
1.5 数据库领域新技术 21
1.5.1 分布式数据库 21
1.5.2 数据仓库与数据挖掘 22
1.5.3 大数据技术 25
1.6 小结 27
习 题 27
第2章 关系数据库 29
2.1 关系的形式化及性质 29
2.1.1 关系的形式化定义 29
2.1.2 关系的性质 31
2.2 关系模式与关系数据库模式 32
2.2.1 关系模式 32
2.2.2 关系数据库模式 32
2.3 关系的码和关系的完整性 33
2.3.1 候选码和主码 33
2.3.2 外码 34
2.3.3 关系的完整性 34
2.4 小结 35
习 题 35
第3章 SQL的基本概念和MySQL简介 38
3.1 SQL的基本概念 38
3.1.1 SQL发展及标准化 38
3.1.2 SQL主要特点 39
3.1.3 SQL语言的分类 39
3.2 MySQL简介 40
3.2.1 MySQL发展和版本 40
3.2.2 MySQL主要组件 41
3.2.3 MySQL下载和安装 41
3.2.4 MySQL管理工具 50
3.3 小 结 55
习 题 55
第4章 数据库的创建和管理 57
4.1 MySQL数据库的存储引擎 57
4.1.1 存储引擎概述 57
4.1.2 InnoDB存储引擎 58
4.1.3 MyISAM存储引擎 59
4.1.4 MEMORY存储引擎 59
4.1.5 其他存储引擎 59
4.1.6 MySQL存储引擎的选择 60
4.2 MySQL数据库的字符集 61
4.2.1 MySQL字符集概述 61
4.2.2 MySQL字符集设置 62
4.2.3 MySQL字符集常见问题 64
4.3 MySQL数据库管理 65
4.3.1 创建数据库 65
4.3.2 查看数据库 66
4.3.3 修改数据库 66
4.3.4 删除数据库 67
4.4 小结 67
习 题 67
第5章 数据表的管理和表中数据操纵 69
5.1 MySQL数据类型 69
5.1.1 数字类型 69
5.1.2 字符串类型 70
5.1.3 时间日期类型 71
5.1.4 二进制类型 72
5.1.5 其他类型 72
5.2 MySQL数据表管理 73
5.2.1 创建数据表 73
5.2.2 定义表的约束 77
5.2.3 修改数据表 81
5.2.4 删除数据表 84
5.2.5 查看数据表 84
5.3 数据表中数据的操纵 87
5.3.1 添加数据表中数据 88
5.3.2 修改数据表中数据 89
5.3.3 删除数据表中数据 90
5.4 小 结 92
本章习题 93
第6章 数据表中的数据查询 94
6.1 单关系数据查询 94
6.1.1 单关系数据查询结构 94
6.1.2 无条件查询 95
6.1.3 条件查询 97
6.1.4 聚合函数查询 103
6.1.5 分组查询 104
6.1.6 查询结果排序 105
6.1.7 限制查询结果数量 106
6.2 多关系数据查询 107
6.2.1 多关系查询结构 107
6.2.2 内连接查询 108
6.2.3 外连接查询 110
6.2.4 交叉连接查询 111
6.2.5 自连接查询 111
6.3 子查询 112
6.3.1 普通子查询 112
6.3.2 相关子查询 117
6.4 集合运算查询 120
6.5 小结 121
习 题 121
第7章 视图和索引 125
7.1 视图 125
7.1.1 视图概述 125
7.1.2 视图的作用 126
7.1.3 视图的工作机制 126
7.2 MySQL视图管理 126
7.2.1 创建视图 126
7.2.2 查看视图的定义 129
7.2.3 修改视图的定义 132
7.2.4 删除视图 133
7.2.5 更新视图的数据 134
7.3 索引 136
7.3.1 索引的作用 136
7.3.2 索引类型 137
7.3.3 索引设置原则 138
7.4 MySQL索引管理 138
7.4.1 创建索引 138
7.4.2 查看索引 142
7.4.3 删除索引 143
7.5 小 结 144
习 题 144
第8章 数据库安全性管理 146
8.1 数据库安全性的定义 146
8.1.1 数据库安全性含义 146
8.1.2 安全性控制的一般方法 146
8.2 MySQL 权限系统 149
8.2.1 权限管理机制 149
8.2.2 权限管理的相关表 150
8.3 MySQL 用户管理 152
8.3.1 添加用户 152
8.3.2 查看用户 156
8.3.3 重命名用户账号 157
8.3.4 修改用户口令 158
8.3.4 删除用户 159
8.4 MySQL权限管理 161
8.4.1 权限管理概述 161
8.4.2 权限授予 161
8.4.2 权限查看 164
8.4.3 权限回收 165
8.4.4 权限转移 166
8.5 MySQL角色管理 166
8.5.1 MySQL角色管理概述 166
8.5.2 MySQL角色创建及授权 167
8.5.3 MySQL角色分配及激活 167
8.5.5 MySQL角色查看 168
8.5.6 MySQL角色撤销 168
8.6 小 结 168
习 题 169
第9章 数据库并发控制与封锁 170
9.1 数据库并发性的含义 170
9.2 事务及其性质 170
9.2.1 事务的概念 170
9.2.2 事务的性质 171
9.3 并发控制与数据的不一致性 173
9.3.1 丢失更新 173
9.3.2 读取脏数据 173
9.3.3 不可重复读 174
9.3.4 幻象读 174
9.4 事务的隔离级别 175
9.4.1 读未提交 175
9.4.2 读提交 176
9.4.3 可重复读 177
9.4.4 串行化 178
9.5 封锁及封锁协议 179
9.5.1 封锁粒度 179
9.5.2 封锁类型 179
9.5.3 封锁协议 181
9.5.4 死锁与活锁 182
9.6 小 结 185
习 题 186
第10章 数据库备份还原和日志管理 187
10.1 备份和还原概述 187
10.1.1 备份还原概述 187
10.1.2 备份和还原的方法 188
10.2 MySQL数据库备份 189
10.2.1 使用mysqldump命令备份 189
10.2.2 使用工具备份 192
10.3 MySQL数据库还原 195
10.3.1 使用命令恢复 196
10.3.2 使用工具恢复 197
10.4 MySQL数据库迁移 198
10.4.1 MySQL同类型数据库迁移 199
10.4.2 MySQL和其他数据库管理系统间迁移 199
10.5 数据库导入和导出 199
10.5.1 使用SQL语句导出导入文件 200
10.5.2 使用命令导出导入文件 202
10.6 MySQL日志管理 202
10.6.1 日志类型 202
10.6.2 日志作用 203
10.6.3 错误日志管理 203
10.6.4 二进制日志管理 204
10.6.5 慢查询日志管理 207
10.6.6 通用日志管理 209
10.7 小 结 210
习 题 210
第11章 数据库设计概述及需求分析 214
11.1 数据库设计任务概述 214
11.1.1 数据库设计的任务和内容 214
11.1.2 数据库设计方法概述 215
11.2 数据库设计各阶段的主要工作 216
11.3 数据库设计案例描述 218
11.3.1 案例概述 218
11.3.2 案例关键业务描述 218
11.4 需求分析的任务和方法论 220
11.4.1 需求分析的任务 220
11.4.2 需求分析的方法论 222
11.5 案例的需求分析 223
11.5.1 数据流图 223
11.5.2 数据字典 224
11.5.3 案例的需求分析 225
11.6 小 结 228
习 题 228
第12章 关系模式的规范化理论 230
12.1 规范化的内容和常见异常 230
12.1.1 规范化的内容 230
12.1.2 不合理的关系模式存在的异常问题 231
12.2 函数依赖 233
12.2.1 函数依赖的定义 233
12.2.2 函数依赖的类型 234
12.2.3 案例的函数依赖分析 235
12.3 范式 236
12.3.1 范式的提出 236
12.3.2 第一范式 236
12.3.3 第二范式 237
12.3.4 第三范式 240
12.3.5 关系模式的规范化过程 241
12.3.6 关系模式的规范化的要求 242
12.4 小 结 243
习 题 243
第13章 数据库概念结构设计和逻辑结构设计 245
13.1 概念结构设计 245
13.1.1 概念结构设计的任务和必要性 245
13.1.2 概念模型的E-R表示方式 246
13.1.3 概念结构设计的步骤 247
13.1.4 局部E-R图设计 248
13.1.5 案例的局部E-R图设计 250
13.1.6 全局E-R图设计 253
13.1.7 案例的全局E-R图设计 255
13.2 逻辑结构设计 258
13.2.1 逻辑结构设计的任务和步骤概述 258
13.2.2 初始关系模式转换原则和具体做法 258
13.2.3 关系模式规范化 259
13.2.4 关系模式的评价和改进 260
13.2.5 案例的逻辑结构设计 261
13.3 小 结 263
习 题 264
第14章 数据库物理结构设计、实施和运行维护 267
14.1 数据库物理结构设计 267
14.1.1 数据库物理结构设计的任务和步骤 267
14.1.2 数据库物理结构设计的内容和方法 267
14.1.3 确定物理结构 268
14.1.4 评价物理结构 270
14.1.5 案例的物理结构设计 270
14.2 数据库实施和维护 273
14.2.1 数据库实施 273
14.2.2 数据库运行维护 276
14.3 小 结 277
习 题 278
第15章 存储过程与函数 280
15.1 MySQL存储过程与函数 280
15.1.1 存储过程和函数概述 280
15.1.2 存储过程的优点 281
15.1.3 存储过程与函数的比较 281
15.2 MySQL编程基础 282
15.2.1 注释、定界符与语句块 282
15.2.2 变量的定义和使用 283
15.2.3 运算符与表达式 287
15.2.4 流程控制语句 292
15.3 MySQL常用内置函数 298
15.3.1 数学函数 298
15.3.2 字符串函数 299
15.3.3 日期和时间函数 300
15.3.4 系统信息函数 302
15.3.5 聚合与统计函数 303
15.3.6 加密函数 304
15.3.7 其他函数 305
15.4 MySQL存储过程 306
15.4.1 创建存储过程 306
15.4.2 调用存储过程 312
15.4.3 查看存储过程 313
15.4.4 修改存储过程 314
15.4.5 删除存储过程 317
15.4.6 存储过程的参数 318
15.5 MySQL用户自定义函数 321
15.3.1 创建函数 321
15.3.2 调用自定义函数 325
15.3.3 函数的维护管理 327
15.6 游标的使用 330
15.7 小 结 332
习 题 333
第16章 触发器和事件 337
16.1 MySQL触发器 337
16.1.1 触发器概述 337
16.1.2 创建触发器 338
16.1.3 查看触发器 342
16.1.4 删除触发器 344
16.2 MySQL事件 345
16.2.1 事件概述 345
16.2.2 创建事件 346
16.2.3 查看事件 349
16.2.4 修改事件 350
16.3 小结 351
习 题 351
第17章 使用Python连接MySQL数据库 353
17.1 Python程序语言 353
17.2 Python访问MySQL数据库概述 354
17.2.1 Python数据库访问工具概述 354
17.2.2 使用Python DB API访问数据库的流程 356
17.2.3 Python连接MySQL数据库 356
17.2.4 Python连接数据库环境搭建 357
17.3 Python连接MySQL编程实践 361
17.3.1 连接数据库 361
17.3.2 操纵数据 362
17.3.3 查询数据 365
17.3.4 执行事务 366
17.4 小结 366
习 题 366


读者评论

赶紧抢沙发哦!

我要评论

作者介绍

陈志泊,教授、博士生导师,北京市高等学校教学名师,北京高等学校优秀专业课(公共课)主讲教师。主编和编写教材20多部,2部被评为北京市精品教材、4部被评为国家级规划教材。主编的《数据库原理及应用教程(第2版)》及其第3版先后被评为“‘十一五’、‘十二五’国家级规划教材”,主讲“数据库系统”课程荣获2020年北京优质本科课程。

相关文章

  • 专家直播课程回放合集——计算机核心课

    人邮大讲堂近期举办多场专家直播课,得到了老师们的一致好评,为方便广大教师获取直播回放,我社已按照细分专业汇总为回放合集,您可根据您所教授的课程或想自我提升的专业方向,自行获取。计算机核心课直播回放合集如下: 直播课程包含计算机网络原理、计算机组成原理、离散数学、操作系统、数据结构6门课程,特邀14位专家作者分享教授相关课程的经验。 回放链接:https://www...

    1226 1 7 6

购买本书用户

相关图书

人邮微信
本地服务
教师服务
教师服务
读者服务
读者服务
返回顶部
返回顶部