数据库原理及应用(MySQL)
书 号:9787113259426
丛 书 名:普通高等院校应用型人才培养“十三五”规划教材
作 者:曾凤生,郑燕娥
译 者:
开 本:16开
装 帧:平装
正文语种:中文
出 版 社:中国铁道出版社有限公司
定 价:48元
-
内容简介
本书系统全面地阐述数据库系统的基础理论、基本技术和基本方法。全书通过一个项目
功能的完成详细介绍了MySQL 在电商平台开发中的应用,能使读者深刻理解关系数据库逻
辑模型,提高数据库设计能力。
本书适合作为应用型本科学校计算机相关专业数据库课程的教材,也可作为从事数据库
系统研究、开发和应用的研究人员和工程技术人员的参考用书。 -
前言
数据库技术从20 世纪60 年代中期产生到今天已有50 多年的历史,经历了三代
演变,造就了网状数据库之父Charles W. Bachman(查尔斯·巴赫曼)、关系数据库
之父Edgar F. Codd(埃德加·科德)、数据库技术和数据库“事务处理”专家James Gray
(詹姆斯·格雷)、数据库系统奠基性基本概念和实践技术专家Michael Stonebraker
(迈克尔·斯通布雷克)共四位图灵奖得主,发展了以数据建模和DBMS 核心技术为
主,内容丰富的一门学科,带动了一个巨大的软件产业——DBMS 产品及其相关工具
和解决方案。
数据库技术是计算机科学技术史发展快的领域之一,也是应用广的技术之
一,它已成为计算机信息系统与应用系统的核心技术和重要基础。正是由于数据库具
有重要的基础地位,数据库理论与技术教育已成为现代计算机科学和相关学科教育
中的核心部分,所有计算机及其相关专业的学生都有必要掌握和熟悉数据库理论与
技术。
通过多年的数据库课程教学,我们发现学生在学习数据库课程之后,仍然不会
“用”数据库——不会设计数据库、不会管理数据库、不会开发数据库应用程序。带
着这些问题,我们进行了一系列数据库课程的教学改革探索与实践,积累了一定的经
验。目前,虽然数据库教材很多,但是很难找到完全适合应用型本科人才培养需要的
教材。于是,我们决定动手编写一本让学生会“用”数据库的教材,一本“够用”的
教材,这便是编写本书的初衷。本书虽然不一定能够完全达到目标,但至少开始了有
益的尝试。
本书结合多年的教学实践,在系统阐述数据库系统的理论、技术和方法的同时,
详细介绍MySQL 在电商平台开发中的应用。
全书分为3 篇12 章。基础篇包括第1~3 章,分别介绍了数据库系统概论、关系
数据库、关系数据库标准语言SQL。理论和技术篇包括第4~10 章,分别介绍了关系
数据库理论、数据库设计、数据库安全性、数据库完整性、数据库恢复技术、并发控
制和数据管理技术前沿。实践篇包括第11~12 章,分别给出12 个案例和10 个实验。
与其他教材相比,本书的主要特点如下:
(1)强化对关系数据库模式的理解,使学生深刻理解关系数据库查询原理,灵活
掌握关系代数和SQL 查询语言。
(2)以案例为驱动,通过分析应用需求来介绍数据库建模的基本方法,使学生深
刻理解关系数据库设计思想,提高数据库设计能力。
(3)增加数据库应用开发和数据库新技术介绍,使学生能了解数据库常用访问
方法和Web 数据库的原理、实现技术,为后续学习和数据库应用开发实践打下一定
的基础。
本书由曾凤生、郑燕娥任主编,王琴和赵宏岩任副主编。其中,第1、2、3、9、
10、12 章由曾凤生执笔,第6、7、8、11 章由郑燕娥执笔,第4 章由王琴执笔,第5
章由赵宏岩执笔。曾凤生提出本书的编写大纲,并对全书的初稿进行了修改、补充
和整理。
本书在编写过程中,参阅了大量的图书和文献资料,在此向参考资料的作者表示
衷心的感谢。
由于编者水平有限,加之时间仓促,不足之处在所难免,希望各位专家、读者和
老师指正,我们将根据收集到的宝贵意见及时修订,使之不断完善。
编 者
2019 年7 月 -
目录
基 础 篇
第1 章 数据库系统概论 ..................................................................................................... 1
1.1 数据库系统概述 ................................................................................................. 1
1.2 数据库技术的发展 ............................................................................................. 4
1.2.1 人工管理阶段 ........................................................................................... 4
1.2.2 文件管理阶段 ........................................................................................... 5
1.2.3 数据库管理系统阶段 ................................................................................ 8
1.3 数据模型 ........................................................................................................... 11
1.3.1 数据和数据模型 ....................................................................................... 11
1.3.2 概念层数据模型 ...................................................................................... 13
1.3.3 数据库建模 ............................................................................................. 16
1.3.4 组织层数据模型 ...................................................................................... 24
1.4 数据库的结构 ................................................................................................... 29
1.4.1 模式的基本概念 ...................................................................................... 29
1.4.2 三级模式结构 ......................................................................................... 29
1.4.3 模式映像与数据独立性 .......................................................................... 31
1.5 数据库系统的组成 ........................................................................................... 32
1.6 数据库与计算思维 ........................................................................................... 35
1.6.1 数据库课程中的计算思维核心概念 ....................................................... 35
1.6.2 数据库教学中的计算思维训练 .............................................................. 36
小结 .......................................................................................................................... 37
习题 .......................................................................................................................... 38
第2 章 关系数据库 ........................................................................................................... 39
2.1 关系数据模型和关系数据库 ............................................................................ 39
2.1.1 关系数据结构 ......................................................................................... 39
2.1.2 关系操作 ................................................................................................. 40
2.1.3 关系完整性约束 ...................................................................................... 42
2.2 关系模型的基本术语与形式化定义 ................................................................. 42
2.2.1 基本术语 ................................................................................................. 42
数据库原理及应用(MySQL)
II
2.2.2 形式化定义 ............................................................................................. 44
2.3 关系代数 .......................................................................................................... 47
2.3.1 传统的集合运算 ...................................................................................... 48
2.3.2 专门的关系运算 ...................................................................................... 49
小结 .......................................................................................................................... 59
习题 .......................................................................................................................... 59
第3 章 关系数据库标准语言SQL .................................................................................. 62
3.1 SQL 概述 ......................................................................................................... 62
3.1.1 SQL 的发展历史 ..................................................................................... 62
3.1.2 SQL 的特点 ............................................................................................. 63
3.1.3 SQL 的功能 ............................................................................................. 63
3.2 MySQL 支持的数据类型 .................................................................................. 64
3.2.1 数值型 ..................................................................................................... 64
3.2.2 日期时间型数据类型 .............................................................................. 65
3.2.3 字符串型数据类型 .................................................................................. 65
3.2.4 二进制数据类型 ...................................................................................... 65
3.2.5 其他类型 ................................................................................................. 66
3.3 数据定义功能 ................................................................................................... 66
3.3.1 数据库的定义 ......................................................................................... 66
3.3.2 表的定义 ................................................................................................. 66
3.4 数据查询功能 ................................................................................................... 69
3.4.1 学生数据库基本结构 .............................................................................. 69
3.4.2 单表查询 ................................................................................................. 71
3.4.3 多表连接查询 ......................................................................................... 86
3.4.4 CASE 表达式 ........................................................................................... 93
3.4.5 子查询 ..................................................................................................... 97
3.4.6 查询的集合运算 ..................................................................................... 102
3.5 视图 ................................................................................................................ 102
3.5.1 视图概述 ................................................................................................ 103
3.5.2 视图的定义及使用 ................................................................................. 104
3.5.3 视图的修改与删除 ................................................................................. 105
3.5.4 物化视图 ................................................................................................ 106
3.6 数据更改功能 .................................................................................................. 107
3.6.1 数据插入 ................................................................................................ 107
3.6.2 数据更新 ................................................................................................ 109
3.6.3 数据删除 ................................................................................................ 111
小结 ......................................................................................................................... 112
目 录
III
习题 ......................................................................................................................... 112
理论和技术篇
第4 章 关系数据库理论 ................................................................................................. 116
4.1 关系模式设计的问题....................................................................................... 116
4.2 函数依赖 ......................................................................................................... 118
4.2.1 基本概念 ................................................................................................ 118
4.2.2 一些术语和符号 ..................................................................................... 119
4.2.3 函数依赖的推理规则 ............................................................................. 120
4.2.4 闭包及候选码求解方法 ......................................................................... 121
4.2.5 极小函数依赖集 ..................................................................................... 125
4.3 范式 ................................................................................................................ 127
4.3.1 第一范式 ................................................................................................ 127
4.3.2 第二范式 ................................................................................................ 128
4.3.3 第三范式 ................................................................................................ 130
4.3.4 Boyce-Codd 范式 ................................................................................... 130
4.3.5 规范化小结 ............................................................................................ 133
4.4 关系模式的分解准则....................................................................................... 134
4.5 查询处理与优化 .............................................................................................. 139
4.5.1 查询处理与优化概述 ............................................................................. 139
4.5.2 SQL 的查询处理 .................................................................................... 139
4.5.3 查询优化方法 ........................................................................................ 142
小结 ......................................................................................................................... 148
习题 ......................................................................................................................... 150
第5 章 数据库设计 ......................................................................................................... 151
5.1 数据库设计概述 .............................................................................................. 151
5.2 需求分析 ......................................................................................................... 153
5.3 概念模型设计 .................................................................................................. 155
5.4 逻辑模型设计 .................................................................................................. 161
5.5 物理结构设计 .................................................................................................. 166
5.6 数据库的运行与维护 ...................................................................................... 168
小结 ......................................................................................................................... 169
习题 ......................................................................................................................... 169
第6 章 数据库安全性 ..................................................................................................... 171
6.1 安全性问题 ..................................................................................................... 171
数据库原理及应用(MySQL)
IV
6.2 数据库安全控制 .............................................................................................. 172
6.2.1 计算机及信息安全技术标准的发展 ...................................................... 172
6.2.2 安全性级别 ............................................................................................ 172
6.2.3 数据库安全控制方法 ............................................................................. 173
6.3 MySQL 的安全机制 ........................................................................................ 176
6.3.1 MySQL 用户管理 ................................................................................... 176
6.3.2 角色与权限管理 ..................................................................................... 178
6.4 Oracle 的安全机制 .......................................................................................... 180
6.4.1 用户标识和鉴定 ..................................................................................... 180
6.4.2 授权与检查机制 ..................................................................................... 180
6.4.3 审计 ........................................................................................................ 182
6.5 安全数据库的研究方向 ................................................................................... 183
小结 ......................................................................................................................... 184
习题 ......................................................................................................................... 184
第7 章 数据库完整性 ..................................................................................................... 185
7.1 数据库完整性概述 .......................................................................................... 185
7.2 完整性约束条件 .............................................................................................. 186
7.3 完整性控制与实现 .......................................................................................... 187
小结 ......................................................................................................................... 191
习题 ......................................................................................................................... 191
第8 章 数据库恢复技术 ................................................................................................. 192
8.1 事务概述 ......................................................................................................... 192
8.1.1 事务的概念 ............................................................................................ 192
8.1.2 事务的特性 ............................................................................................ 193
8.1.3 事务的状态 ............................................................................................ 194
8.1.4 事务调度 ................................................................................................ 194
8.2 数据库恢复概述 .............................................................................................. 194
8.2.1 数据库恢复的基本原理 ......................................................................... 194
8.2.2 数据库恢复的约束条件 ......................................................................... 194
8.3 故障的种类 ..................................................................................................... 195
8.4 恢复的实现技术 .............................................................................................. 196
8.5 恢复策略 ......................................................................................................... 198
8.5.1 事务故障恢复 ........................................................................................ 198
8.5.2 系统故障恢复 ........................................................................................ 199
8.5.3 介质故障恢复 ........................................................................................ 200
8.6 具有检查点的恢复技术 ................................................................................... 200
目 录
V
8.7 数据库镜像 ..................................................................................................... 201
小结 ......................................................................................................................... 204
习题 ......................................................................................................................... 204
第9 章 并发控制 ............................................................................................................. 205
9.1 并发控制概述 .................................................................................................. 205
9.1.1 并发控制的概念 ..................................................................................... 205
9.1.2 数据不一致问题 ..................................................................................... 206
9.2 封锁 ................................................................................................................ 207
9.2.1 封锁类型 ................................................................................................ 207
9.2.2 封锁协议 ................................................................................................ 207
9.3 活锁和死锁 ..................................................................................................... 209
9.4 并发调度的可串行性....................................................................................... 210
9.5 两段锁协议 ..................................................................................................... 212
9.6 封锁的粒度 ..................................................................................................... 213
小结 ......................................................................................................................... 214
习题 ......................................................................................................................... 214
第10 章 数据管理技术前沿 ........................................................................................... 215
10.1 大数据的兴起 ................................................................................................ 215
10.1.1 大数据的概念 ...................................................................................... 216
10.1.2 从数据库到大数据 ............................................................................... 216
10.1.3 大数据处理模式 ................................................................................... 217
10.2 大数据处理平台和框架 ................................................................................. 217
10.2.1 Apache Hadoop ..................................................................................... 218
10.2.2 Apache Storm ....................................................................................... 219
10.2.3 Apache Spark ........................................................................................ 219
10.3 数据库面临的挑战 ........................................................................................ 220
10.3.1 MySpace 数据库构架变化 ................................................................... 220
10.3.2 数据库可扩展性问题的解决方法 ....................................................... 222
10.3.3 数据库的发展 ...................................................................................... 223
10.4 NoSQL 数据库 ............................................................................................... 223
10.4.1 键值数据库 .......................................................................................... 223
10.4.2 文档数据库 .......................................................................................... 224
10.4.3 列数据库 .............................................................................................. 225
10.4.4 图数据库 .............................................................................................. 226
10.5 NewSQL 数据库 ............................................................................................ 227
10.5.1 VoltDB .................................................................................................. 227
数据库原理及应用(MySQL)
VI
10.5.2 NuoDB .................................................................................................. 228
小结 ......................................................................................................................... 228
习题 ......................................................................................................................... 228
实 践 篇
第11 章 案例 ................................................................................................................... 229
案例1 用户数据的初始化 ..................................................................................... 229
案例2 用户登录 ................................................................................................... 233
案例3 日志的操作 ................................................................................................ 236
案例4 冗余字段的使用 ........................................................................................ 236
案例5 日点击量的统计 ........................................................................................ 238
案例6 改进后的点击量日志表存储过程 .............................................................. 239
案例7 商品主表中总点击量字段prod_click_all 的更新 ....................................... 240
案例8 事务的操作 ................................................................................................ 242
案例9 异常的处理 ................................................................................................ 245
案例10 用户充值功能的实现 ............................................................................... 248
案例11 解决用户充值的数据冲突方法一 ............................................................. 250
案例12 解决用户充值的数据冲突方法二 ............................................................. 253
小结 ......................................................................................................................... 256
习题 ......................................................................................................................... 256
第12 章 实验 ................................................................................................................... 257
实验1 数据库的创建和管理 ................................................................................. 257
实验2 表、索引与视图的基础操作 ...................................................................... 258
实验3 SQL——select 查询操作 ............................................................................ 261
实验4 SQL 数据更新操作 .................................................................................... 264
实验5 数据库存储和优化 ..................................................................................... 265
实验6 数据库安全性 ............................................................................................ 268
实验7 数据库完整性 ............................................................................................ 270
实验8 数据库并发控制 ........................................................................................ 272
实验9 数据库备份与恢复 ..................................................................................... 273
实验10 数据库应用系统设计与开发 .................................................................... 276
参考文献 .............................................................................................................................. 277 -
作者介绍
曾凤生: 硕士,副教授,仰恩大学计算机学院党总支书记兼副院长,主讲课程有:数据库系统原理、操作系统、高级语言程序设计等,主要研究方向是数据挖掘与大数据分析。
郑燕娥 :硕士,副教授,仰恩大学计算机系主任,主讲课程有:面向对象程序设计、设计模式、数据库安全,主要研究方向:大数据处理和信息系统。 -
编辑推荐
本书配套资源丰富,可以提供教材+教学大纲+电子课件+教学计划表+课后习题答案+试题库 -
书评书荐
-
附件下载
图书推荐