新書推薦:
《
大模型启示录
》
售價:NT$
510.0
《
东法西渐:19世纪前西方对中国法的记述与评价
》
售價:NT$
918.0
《
养育男孩:官方升级版
》
售價:NT$
230.0
《
小原流花道技法教程
》
售價:NT$
500.0
《
少女映像室 唯美人像摄影从入门到实战
》
售價:NT$
505.0
《
詹姆斯·伍德系列:不负责任的自我:论笑与小说(“美国图书评论奖”入围作品 当代重要文学批评家詹姆斯·伍德对“文学中的笑与喜剧”的精湛研究)
》
售價:NT$
398.0
《
武当内家散手
》
售價:NT$
230.0
《
诛吕:“诸吕之乱”的真相与吕太后时期的权力结构
》
售價:NT$
454.0
|
編輯推薦: |
“101计划”数据库系统核心课程教材,覆盖了“101计划”数据库系统课程的全部知识点,结构清晰合理,章节关联性强,文字表达流畅,格式统一,质量符合“101计划”教材的出版要求,系统、完整地讲述了当前数据库技术的基本原理和实现技术。
|
內容簡介: |
本书是“101计划”数据库系统课程建设配套教材,面向数据库零基础的读者,系统讲授数据库的基本概念、SQL、数据库管理系统基本原理与实现技术。全书分为4篇共12章。第一篇为基础篇(第1~4章),主要介绍数据库系统的基本概念和基础知识,内容包括概述、关系数据模型、关系数据库标准语言SQL、高级SQL;第二篇为数据存取篇(第5~6章),主要介绍数据库管理系统的数据存取管理,内容包括存储管理、索引;第三篇为查询处理篇(第7~9章),主要介绍查询处理的过程和两个核心步骤,内容包括查询处理、查询优化、查询执行;第四篇为事务处理篇(第10~12章),主要介绍事务处理技术,内容包括事务处理概述、并发控制、故障恢复。
本书重点讲授如何“造数据库”,视角新颖,内容全面系统,实现原理与实现算法取舍合理,并提供配套实验平台,可作为高等学校计算机大类相关专业数据库系统课程的教材,也可供从事数据库系统开发与应用的科研人员、工程技术人员以及其他有关人员参考。
|
目錄:
|
第一篇基础篇
第1章概述31.1数据库系统概述3
1.1.1数据库系统的基本概念3
1.1.2为什么使用数据库系统5
1.2数据库技术的发展5
1.2.1数据模型推动数据库技术发展6
1.2.2应用需求推动数据库技术发展9
1.2.3计算平台推动数据库技术发展13
1.3数据库管理系统组成17
1.3.1数据库管理系统的功能结构17
1.3.2数据库管理系统的模式结构19
1.3.3数据库管理系统的体系结构20
1.3.4数据库管理系统的执行过程21
1.4我国数据库的发展历程23
1.5本章小结25
习题25
第2章关系数据模型27
2.1关系模型的数据结构及形式化定义27
2.1.1关系概述27
2.1.2关系模式30
2.1.3关系数据库30
2.1.4关系模型的存储结构31
2.2关系代数31
2.2.1传统的集合运算31
2.2.2专门的关系运算32
2.3关系的完整性34
2.3.1实体完整性34
2.3.2参照完整性35
2.3.3用户定义的完整性36
2.4本章小结36习题36
第3章关系数据库标准语言SQL37
3.1SQL概述37
3.2数据定义37
3.2.1模式的定义与删除37
3.2.2基本表的定义、修改与删除38
3.2.3索引的创建41
3.3基本SQL查询41
3.3.1单表查询41
3.3.2连接查询43
3.3.3集合查询45
3.3.4空值查询46
3.3.5聚集查询46
3.4数据更新47
3.4.1插入数据47
3.4.2修改数据48
3.4.3删除数据48
3.5视图49
3.5.1定义视图49
3.5.2查询视图50
3.5.3更新视图50
3.6本章小结50
习题51
实验51
第4章高级SQL53
4.1复杂SQL查询53
4.1.1嵌套查询53
4.1.2递归查询55
4.1.3基于派生表的查询56
4.2数据库完整性57
4.2.1实体完整性57
4.2.2参照完整性57
4.2.3用户定义的完整性58
4.3数据库安全性58
4.3.1数据库安全性等级58
4.3.2自主存取控制60
4.3.3强制存取控制61
4.4数据库编程62
4.4.1过程化SQL62
4.4.2存储过程与函数65
4.4.3触发器65
4.5本章小结66
习题67
实验67
第二篇数据存取篇
第5章存储管理715.1物理存储系统71
5.1.1存储介质概述71
5.1.2常用存储介质72
5.1.3磁盘I/O性能的提升策略75
5.2数据组织76
5.2.1数据库的逻辑与物理组织方式76
5.2.2记录表示77
5.2.3块的组织78
5.2.4关系表的组织81
5.3元数据存储84
5.4缓冲区85
5.4.1缓冲区管理85
5.4.2页面置换策略86
5.5本章小结88
习题89
实验89
第6章索引91
6.1顺序表的索引92
6.1.1稠密索引92
6.1.2稀疏索引93
6.1.3多级索引94
6.2辅助索引95
6.3B 树索引96
6.3.1B 树索引的结构96
6.3.2B 树索引的查询97
6.3.3B 树索引的维护98
6.4哈希索引100
6.4.1静态哈希索引100
6.4.2动态哈希索引102
6.5Bitmap索引106
6.5.1Bitmap索引概述106
6.5.2编码Bitmap索引107
6.6本章小结109
习题109
实验110
第三篇查询处理篇
第7章查询处理1137.1查询处理概述113
7.2查询编译114
7.2.1查询编译概述114
7.2.2词法与语法分析115
7.2.3语义分析118
7.2.4查询优化119
7.3物理操作符121
7.3.1物理操作符的代价模型121
7.3.2扫描操作122
7.3.3排序操作124
7.3.4连接操作126
7.3.5去除重复值132
7.3.6分组聚集132
7.3.7集合操作133
7.4本章小结133
习题134
实验134
第8章查询优化135
8.1查询优化概述135
8.1.1查询优化的意义135
8.1.2查询优化的方法136
8.1.3查询优化器的结构137
8.2关系代数表达式等价变换规则138
8.2.1选择运算的相关规则138
8.2.2投影运算的相关规则139
8.2.3连接运算的相关规则140
8.2.4去重运算的相关规则143
8.2.5聚集运算的相关规则144
8.2.6集合运算的相关规则147
8.3统计信息147
8.4基数估算148
8.4.1选择运算结果集的估算149
8.4.2连接运算结果集的估算152
8.4.3其他运算结果集的估算153
8.5多表连接的优化154
8.5.1多表连接的查询计划树154
8.5.2多表连接顺序的搜索空间155
8.5.3动态规划157
8.5.4贪心算法160
8.6本章小结161
习题161
实验162
第9章查询执行163
9.1查询执行概述163
9.1.1物化164
9.1.2流水线165
9.1.3查询计划的执行166
9.2查询执行模型167
9.2.1火山模型167
9.2.2向量执行模型168
9.3查询并行执行169
9.3.1并行执行概述169
9.3.2并行执行模型170
9.3.3并行执行算法172
9.4查询编译执行173
9.5本章小结174
习题175
实验175
第四篇事务处理篇
第10章事务处理概述17910.1事务基本概念179
10.1.1事务的定义179
10.1.2事务的ACID特性181
10.2数据异常与隔离级别182
10.2.1事务的执行模型182
10.2.2数据异常183
10.2.3隔离级别186
10.3正确的调度187
10.3.1调度与串行调度187
10.3.2可串行化调度189
10.3.3冲突可串行化调度190
10.3.4基于优先图的冲突可串行化验证191
10.4本章小结192
习题192
实验193
第11章并发控制195
11.1两阶段封锁协议196
11.1.1基本实现技术196
11.1.2严格与强严格两阶段封锁协议198
11.1.3死锁预防实现技术200
11.1.4小结202
11.2时间戳排序协议203
11.2.1基本实现技术203
11.2.2避免级联回滚205
11.2.3小结207
11.3乐观并发控制协议208
11.3.1基本实现技术208
11.3.2小结210
11.4三级封锁协议210
11.5多版本并发控制技术212
11.5.1基本实现技术212
11.5.2快照隔离214
11.5.3写偏序214
11.5.4版本管理215
11.6本章小结217
习题217
实验218
第12章故障恢复219
12.1故障恢复概述219
12.1.1故障的分类219
12.1.2事务读写的访问模式220
12.1.3故障下数据一致性的破坏222
12.2恢复的基本实现技术225
12.2.1日志文件225
12.2.2WAL日志226
12.2.3备份227
12.3恢复的基本原理229
12.3.1事务故障的恢复229
12.3.2系统故障的恢复230
12.3.3介质故障的恢复232
12.4ARIES算法233
12.4.1系统正常运行时的日志记录233
12.4.2WAL算法的实现234
12.4.3模糊检查点235
12.4.4系统故障恢复236
12.5本章小结238
习题238
实验240
参考文献241
|
內容試閱:
|
数据库是信息技术领域的核心技术之一,是最重要的基础软件之一,在信息技术的发展中具有举足轻重的地位。本书重点讨论数据库管理系统的基础知识、基本原理和关键实现技术。
1. 编写缘由
2022年年初,我们针对国内本科生数据库教学、国外顶尖高校本科生数据库教学、企业对数据库人才满意度等进行了一系列调研,调查对象包括国内98所高校的170个数据库课堂,CS Ranking数据库排名前50的26所海外高校的37个课堂,以及部分用人企业。调查结果显示,国内数据库教学内容主要集中在数据库及数据库管理系统基本概念、SQL、数据库设计等内容上。海外70%以上的被调查高校提供了数据库管理系统内核实现的课程。国内用人企业对高校输送的数据库人才也不满意,认为难以找到了解数据库内核实现的人才,需要进行较长时间的再培训。究其原因,近年来随着中美关系的变化,国内企业越来越重视研发具有自主知识产权的系统软件,而国内高校的课堂教学内容未能及时进行调整。
中国人民大学信息学院从20世纪90年代开始,在研究生中开设数据库管理系统原理与实现的课程,但这个课不是针对零基础的学生,其先修课是数据库系统概论。从2020年开始,我们对图灵实验班(计算机拔尖班)进行数据库教学改革,针对零基础的学生讲授数据库内核实现技术,并研发了相应的实验平台RucBase。四年的实践证明,这种改革是可行的、成功的。但在教学中我们也发现,国内数据库概论类教材百花齐放,而数据库管理系统实现类教材凤毛麟角。
2022年,中国人民大学牵头了“101计划”数据库系统课程建设以及“101计划”数据库系统课程虚拟教研室,参与单位包括清华大学、北京大学、浙江大学、西北工业大学、哈尔滨工业大学、山东大学、武汉大学、西安电子科技大学、中国科技大学、华东师范大学、中山大学、东南大学、北京交通大学。在此平台上,大家合力完成了海外高校数据库教学调研,绘制了知识图谱,撰写了知识点教案。同时 “101计划”也给我们提供了契机,让我们终于下决心结合多年的授课经验,撰写了本书。
2. 内容与特色
本书面向数据库零基础的学生,系统讲授数据库的基本概念、SQL、数据库管理系统基本原理与实现技术。全书分为4篇共12章。
第一篇为基础篇,包括概述、关系数据模型、关系数据库标准语言SQL、高级SQL,共4章。
第二篇为数据存取篇,包括存储管理、索引,共2章。
第三篇为查询处理篇,包括查询处理、查询优化、查询执行,共3章。
第四篇为事务处理篇,包括事务处理概述、并发控制、故障恢复,共3章。
本书具有如下特色:
(1) 视角新颖。有别于传统数据库教材教学生如何“用数据库”,本书重点教学生如何“造数据库”,从基本概念与基本原理,到数据库核心组件的实现技术,由浅入深,脉络清晰。
(2) 内容全面系统。面向数据库零基础的学生,在知识点选取上秉承“更基础、更核心”的理念,首先从数据库基本概念入手,讲解数据模型、数据库的模式结构、关系模型、SQL、SQL编程等内容,然后在此基础上,系统地介绍关系数据库的存储管理、查询处理、事务管理等知识点。
(3) 实现原理与实现算法合理取舍。本书以开源数据库系统为基础,系统讲解数据库内核实现原理的同时,配合部分实现算法,在易于理解与深度之间取得平衡。
(4) 提供配套实验平台。面向零基础学生讲授数据库管理系统内核实现的最大难点是如何做实验,为此我们研制了实验平台并在GitHub上开源。该实验平台为学生搭建好数据库管理系统的整体框架,配合本书的知识点设计了若干任务,每项任务又细化为多项子任务,供学生以“完形填空”的方式进行实践,包括按照要求设计数据结构、设计算法等。实验平台可以自动完成对学生实验的评估。
对于本书的使用建议如下:
(1) 对于数据库零基础的学生,可以完整地使用本书进行教学。
(2) 对于已经掌握数据库基础知识,想进一步了解数据库管理系统实现原理与技术的学生,可以学习本书的第二、三、四篇。
3. 编写过程与分工
本书编写过程历时一年零八个月,其中经历了大纲编写和审定、书稿撰写和修改、龙岩导教班试用和反馈,再次修改交审稿组审稿,根据审稿意见修改和定稿。主要编写过程如下:
2022年3月,完成编写大纲,提交“101计划”秘书处。
2022年12月1日,“101计划”秘书处组织了对大纲以及样章的评审,评审组长为西北工业大学李战怀教授,评审专家包括中国人民大学王珊教授、清华大学周立柱教授、哈尔滨工业大学高宏教授、东北大学杨晓春教授、山东大学彭朝晖教授。会后,我们按照专家组的意见对大纲进行了修订,并于2023年6月30日完成了教材初稿。
2023年7月18日至22日,我们在龙岩召开了“数据库管理系统原理与实现”导教班,来自全国24所高校的34位教师参加了此次导教班。在导教班上我们印发了初稿,请老师们分组审阅并提出修改意见。
2023年8月至9月,我们按照导教班提出的修改意见,对书稿进行了修改和完善。
2023年10月,编写组内部交换互审,并进行再次修改。
2023年10月底,将书稿提交给评审委员会审稿。评审委员会由西北工业大学李战怀教授任组长,评审委员包括武汉大学彭志勇教授、华东师范大学王晓玲教授、宁夏大学杜方教授。评审专家认真审阅了书稿,并召开评审会进行讨论和意见反馈。会后,我们按照专家组的意见再次进行了认真修改,最终定稿,并提交出版社。
4. 致谢
本书的完成凝集了很多人的心血。焦敏老师帮助完成了本书的排版工作,博士生刘宇涵帮助完成了本书的图片修改工作。
由西北工业大学李战怀教授、武汉大学彭志勇教授、华东师范大学王晓玲教授、宁夏大学杜方教授组成的教材评审委员会,由西北工业大学李战怀教授、中国人民大学王珊教授、清华大学周立柱教授、哈尔滨工业大学高宏教授、东北大学杨晓春教授、山东大学彭朝晖教授组成的教材大纲和样章评审委员会对本书的编写提出了宝贵的修改意见。
在龙岩导教班上,山东大学彭朝晖,华东师范大学王晓玲,宁夏大学杜方,哈尔滨工业大学邹兆年,西北工业大学李宁、赵晓南,东北大学聂铁铮、刘思宇,内蒙古大学王少鹏,扬州大学陈才扣,厦门理工学院王琰,天津工业大学荣垂田,北京信息科技大学车蕾、王晓波,华中科技大学瞿彬彬、杨茂林,北京邮电大学郭迎,西安电子科技大学夏小芳,西安电子科技大学李翠敏、王小兵,大连海事大学张俊、张德珍,北京化工大学尚颖,吉林大学王新颖、康辉,昆明理工大学游进国、贾连印,华中师范大学罗昌银,山西农业大学樊建军、李小凡,西南科技大学张世铃,成都理工大学李红军,广东理工学院陈伟莲、梁玉英等审阅了本书初稿,并提出了中肯的建议。
在书稿的撰写和评审过程中,清华大学出版社龙启铭编辑提供了诸多帮助。
在此,一并向上述人员表示衷心的感谢。
本书编写分工情况如下: 第一篇由杜小勇、陈晋川完成;第二篇由陈红、冯玉完成;第三篇由冯玉、张孝完成;第四篇由卢卫完成。杜小勇和陈红审定了全书。
在编写过程中,编者参考了国外相关教材、专著、论文和网上资料,努力跟踪数据库管理系统的新发展和新技术,并有选择地将其纳入本书。由于作者水平有限,书中难免有不足之处 ,敬请读者不吝赐教。
杜小勇2023年10月于北京目录
|
|