书籍详情

数据库原理及应用教程:基于Linux的MySQL和NoSQL应用

数据库原理及应用教程:基于Linux的MySQL和NoSQL应用

作者:李辉 著

出版社:电子工业出版社

出版时间:2020-09-01

ISBN:9787121362279

定价:¥59.00

购买这本书可以去
内容简介
  本书全面系统地介绍了数据库系统的基本概念、基本原理和基本技术,以Linux操作系统下的MySQL为背景介绍了数据库技术的实现,包括数据库和数据表的维护、查询与统计、视图管理、存储过程和触发器的管理、用户管理、约束和默认管理、数据库的备份和还原、存储过程等内容,读者可以充分利用MySQL平台深刻理解数据库技术的原理,达到理论和实践紧密结合的目的,也解决了学习者安装上机数据库管理系统软件中的操作系统兼容性问题。 本书内容循序渐进,深入浅出,概念清晰,条理性强,每章都给出了一些实例,为缓解学习者初期动手的茫然与困惑,每章安排上机实践任务;通过对数据库新技术的介绍,可以让读者简单了解目前数据库发展的前沿技术。 本书可作为高等院校计算机、数据科学与大数据等相关专业“数据库原理及应用”课程的配套教材,也可以供参加数据库类考试的人员、数据库应用系统开发设计人员、工程技术人员及其他相关人员参阅。
作者简介
  李辉,博士,中国农业大学农业大数据实验室主任,教育部评估中心工程教育专业认证专家组成员,主要从事大数据技术应用、高等教育教学等方面的研究工作,主讲《大数据技术及应用概论》等课程,发表了《本科大数据实验平台及资源建设的思考与探索》等多篇教育教学相关论文,主编了《数据库系统原理及MySQL应用教程》等教材,建设了农业大数据实验室,搭建了大数据教学实验实训平台,完成了数据科学与大数据技术主专业和双学位专业人才培养方案的制定工作。目前正在开展教育部高教司产学合作协同育人项目 基于大数据的分布式架构应用课程群开发” 、校企共建大数据联合实验室项目”以及基于可视化的农产品安全大数据分析系统研究”、基于全景技术的实时可视化互动农业系统应用与示范”等课题的研究工作。参与国家科技支撑计划课题和公益性行业(农业)科研专项纵向课题研究10余项,发表论文20多篇,申请软件著作权20多个,申请专利3项。
目录
目 录
第1章 数据库系统概述 1
1.1 数据与数据管理技术 1
1.1.1 数据库的基本概念 1
1.1.2 数据管理技术的发展 5
1.2 数据库系统的特点及组成 7
1.2.1 数据库系统的特点 7
1.2.2 数据库系统的组成 9
1.3 数据库系统结构 10
1.3.1 三级模式结构 10
1.3.2 数据库系统体系结构 13
小结 14
思考与练习1 14
第2章 信息与数据模型 16
2.1 信息的三种世界及描述 16
2.2 数据模型 17
2.2.1 数据模型的概念 17
2.2.2 数据处理三层抽象描述 17
2.2.3 数据模型的要素 18
2.3.4 数据模型与数据模式的区别 19
2.3 概念模型 19
2.3.1 基本概念 20
2.3.2 E-R模型 20
2.4 逻辑模型 23
2.5 概念模型向逻辑模型的转换 26
小结 27
思考与练习2 28
实验:概念模型(E-R图)画法与逻辑模式转换 31
第3章 关系代数与关系数据库规范化 34
3.1 关系代数及其运算 34
3.1.1 关系的数学定义 34
3.1.2 关系代数概述 35
3.1.3 传统的集合运算 36
3.1.4 专门的关系运算 38
3.2 关系演算 44
3.2.1 元组关系演算 44
3.2.2 域关系演算 45
3.3 关系代数表达式的优化 46
3.4 关系数据库理论 46
3.4.1 问题的提出 47
3.4.2 函数依赖 48
3.5 关系模式的范式及规范化 55
3.6 关系模式的分解 59
小结 65
思考与练习3 65
实验:关系的完整性、规范化理解与应用 68
第4章 数据库设计方法 71
4.1 数据库设计概述 71
4.1.1 数据库设计的内容 71
4.1.2 数据库设计的特点 72
4.1.3 数据库设计方法 72
4.1.4 数据库设计的阶段 73
4.2 需求分析 76
4.2.1 需求描述与分析 76
4.2.2 需求分析分类 76
4.2.3 需求分析的内容、方法和步骤 77
4.2.4 数据字典 79
4.3 概念结构设计 80
4.3.1 概念结构设计的必要性及要求 80
4.3.2 概念结构设计的方法和步骤 81
4.3.3 采用E-R模型设计概念结构的方法 83
4.4 逻辑结构设计 87
4.4.1 E-R图向关系模型的转换 87
4.4.2 关系模式规范化 88
4.4.3 模式评价和改进 88
4.5 物理结构设计 89
4.5.1 物理结构设计的内容和方法 89
4.5.2 评价物理结构 90
4.6 数据库行为设计 91
4.7 数据库实施 92
4.8 数据库的运行和维护 93
小结 94
思考与练习4 94
实验:数据库设计 97
第5章 MySQL概述 99
5.1 MySQL简介 99
5.2 MySQL工作流程 102
5.3 MySQL数据库系统 103
5.4 MySQL服务器和端口号 105
5.5 MySQL的安装和使用 105
5.6 通过Navicat操作MySQL 112
小结 117
思考与练习5 117
第6章 存储引擎与数据库操作管理 118
6.1 存储引擎 118
6.1.1 存储引擎概述 118
6.1.2 常用存储引擎 120
6.1.3 其他存储引擎 122
6.1.4 存储引擎的选择 122
6.2 字符集 123
6.2.1 MySQL支持的字符集 123
6.2.2 MySQL字符集的选择 126
6.2.3 MySQL字符集的设置 126
6.3 创建数据库 128
6.4 修改数据库名称 130
6.5 删除数据库 130
小结 131
思考与练习6 131
实验:MySQL安装创建和维护数据库实验 132
第7章 表定义与完整性约束控制 133
7.1 表的基本概念 133
7.2 MySQL的数据类型 133
7.2.1 MySQL常用的数据类型 134
7.2.2 选择合适的数据类型 137
7.3 MySQL运算符 137
7.4 MySQL表的操作 138
7.4.1 表的基本操作 138
7.4.2 表管理的注意事项 143
7.5 MySQL约束控制 144
7.5.1 数据完整性约束 144
7.5.2 字段的约束 144
7.5.3 删除约束 152
小结 152
思考与练习7 152
实验:MySQL表定义和完整性约束控制 153?
第8章 数据操作管理 159
8.1 插入数据 159
8.1.1 为表的所有字段插入数据 159
8.1.2 为表的指定字段插入数据 161
8.1.3 同时插入多条记录 161
8.1.4 从目标表中插入值 163
8.1.5 REPLACE语句 163
8.2 修改数据 163
8.3 删除数据 164
8.3.1 删除表数据 164
8.3.2 清空表数据 165
8.4 单表查询 166
8.4.1 SELECT语句 166
8.4.2 简单查询 166
8.4.3 条件查询 169
8.4.4 高级查询 174
8.5 多表查询 181
8.5.1 内连接查询 181
8.5.2 外连接查询 183
8.5.3 子查询 184
小结 188
思考与练习8 188
实验:MYSQL数据库表的数据操作 192
实验1 MySQL数据库表的数据插入、修改、删除操作实验 192
实验2 MySQL数据库表数据的查询操作实验 193
第9章 索引 196
9.1 索引概述 196
9.1.1 索引的作用 196
9.1.2 索引的分类 198
9.2 索引的定义和管理 198
9.2.1 创建索引 198
9.2.2 查看索引 205
9.2.3 删除索引 206
9.3 设计原则和注意事项 207
小结 208
思考与练习9 208
实验:索引创建与管理 209
第10章 视图 211
10.1 视图概述 211
10.1.1 视图的优势 211
10.1.2 视图的工作机制 212
10.2 视图的定义和管理 212
10.2.1 创建视图 212
10.2.2 删除视图 214
10.2.3 查看视图定义 215
10.2.4 修改视图定义 216
10.3 更新视图数据 218
10.4 对视图的进一步说明 219
小结 220
思考与练习10 220
实验:视图的创建与管理 221
第11章 存储过程和存储函数 224
11.1 存储过程与存储函数概述 224
11.2 存储过程和存储函数的操作 225
11.2.1 创建存储过程或存储函数 225
11.2.2 变量 229
11.2.3 定义条件和处理 230
11.2.4 游标的使用 232
11.2.5 流程的控制 234
11.2.6 查看存储过程或存储函数 236
11.2.7 删除存储过程或存储函数 238
11.3 系统函数 239
小结 241
思考与练习11 241
实验:存储过程与存储函数的创建和管理 242
第12章 触发器和事件调度器 251
12.1 触发器 245
12.1.1 触发器概述 245
12.1.2 创建使用触发器 246
12.1.3 查看触发器 249
12.1.4 删除触发器 250
12.1.5 对触发器的进一步说明 250
12.2 事件调度器 250
12.2.1 创建事件 251
12.2.2 修改事件 252
12.2.3 删除事件 253
小结 253
思考与练习12 253
实验:触发器的创建和管理 254?
第13章 权限管理 256
13.1 访问控制 256
13.2 权限表 256
13.2.1 user表 257
13.2.2 db表和host表 258
13.2.3 tables_priv表 259
13.2.4 columns_priv表 259
13.2.5 procs_priv表 260
13.3 用户管理 260
13.3.1 添加用户 260
13.3.2 查看用户 262
13.3.3 修改用户账号 263
13.3.4 修改用户口令 263
13.3.5 删除用户 264
13.4 账户权限管理 265
13.4.1 权限授予 265
13.4.2 权限的转移和限制 267
13.4.3 权限的撤销 268
小 结 269
思考与练习13 269
实验:数据库的安全机制和管理 270
第14章 事务和多用户并发控制 271
14.1 事务 271
14.1.1 事务的概念 271
14.1.2 事务的ACID特性 272
14.1.3 事务控制语句 273
14.1.4 事务的隔离性级别 274
14.2 并发控制 275
14.2.1 并发概述 275
14.2.2 锁概述 276
14.2.3 MyISAM表的表级锁 277
14.2.4 InnoDB表的行级锁 278
14.2.5 死锁 279
小结 280
思考与练习14 280
第15章 数据备份和还原 282
15.1 备份与还原概述 282
15.2 通过文件备份和还原 283
15.3 通过MYSQLDUMP备份和还原 284
15.3.1 备份 284
15.3.2 还原 285
15.4 表的导入和导出 286
小结 289
思考与练习15 289
第16章 日志管理 291
16.1 MySQL支持的日志 291
16.2 错误日志 292
16.3 二进制日志 293
16.4 慢查询日志 295
16.5 通用查询日志 296
小结 297
思考与练习16 297
实验:MySQL日志管理 297
第17章 分布式数据库与复制、集群技术 299
17.1 分布式数据库系统 299
17.1.1 集中式和分布式 299
17.1.2 分布式数据库基本概念 300
17.1.3 DDB模式结构 301
17.1.4 分布式数据库管理系统 304
17.1.5 分布式数据库系统 306
17.2 分布式数据存储 307
17.2.1 数据复制方法 307
17.2.2 数据分片 308
17.3 MySQL复制技术 310
17.4 MySQL集群技术 313
17.4.1 MySQL集群技术概述 313
17.4.2 Linux环境下MySQL Cluster的安装和配置 314
小结 318
思考与练习17 318
第18章 非关系型数据库NOSQL 319
18.1 数据库比较 319
18.1.1 关系型数据库的优势 319
18.1.2 关系型数据库的劣势 319
18.1.3 NoSQL数据库的优势 320
18.2 NOSQL数据库的类型 321
18.2.1 键值(key/value)存储 322
18.2.2 面向文档的数据库 322
18.2.3 面向列的数据库 323
18.3 NOSQL数据库选用原则 323
18.4 NOSQL的CAP理论 324
18.4.1 NoSQL系统是分布式系统 324
18.4.2 CAP理论阐述 324
18.5 主流NOSQL数据库 325
18.5.1 HBase 325
18.5.2 Redis 326
18.5.3 MongoDB 327
18.5.4 Couchbase 329
18.5.5 LevelDB 330
18.6 MONGODB实战 331
18.6.1 MongoDB的基本概念 331
18.6.2 Linux下MongoDB的安装和配置、启动与停止 333
18.6.3 MongoDB基本数据操作 335
小结 341
思考与练习18 341
本章小结 319
第19章 Python+MySQL编程应用 342
19.1 Python简介 342
19.2 Python图形界面编程基础 343
19.3 使用Python进行MySQL数据库编程 346
19.4 学生信息管理系统开发实例 352
小结 357
参考文献 358
猜您喜欢

读书导航