本书梳理了数据库系统发展现状,融合了哈尔滨工业大学数据库团队在数据库系统原理与GaussDB实现方向的最新研究成果,并充分借鉴了国内外相关领域的最新技术展,力求全面呈现数据库系统技术体系及发展脉络。本书共10章,主要包括关系型数据库基础、存储引擎的分类、事务的概念及管理、数据库查询方法、分布式数据库技术和基于GaussDB的数据库设计与发实践等内容。 本书内容由浅深、全面翔实,结构清晰简明、编排合理,可作为计算机科学与技术、软件工程、大数据科学与技术等专业本科高年级教材,也可以作为研究生研讨课教材或供专业技术人员参考。
售 价:¥
纸质售价:¥78.40购买纸书
6.7
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐

PREFACE 前言
CHAPTER 1 第1章 引言
1.1 数据库系统的功能与应用
1.1.1 什么是数据库系统
1.1.2 数据库系统的功能
1.1.3 数据库系统在生产生活中的应用
1.2 数据库类型简介
1.2.1 关系型数据库简介
1.2.2 非关系型数据库简介
1.2.3 并行数据库简介
1.2.4 分布式数据库简介
1.2.5 云数据库简介
1.3 数据库发展简史
1.3.1 数据库发展的历史
1.3.2 数据湖、数据仓库与数据挖掘
1.3.3 GaussDB数据库简介
1.3.4 数据库的性能挑战及未来发展趋势
1.3.5 国产数据库的发展
1.4 小结
1.4.1 术语回顾
1.4.2 习题
CHAPTER 2 第2章 关系型数据库基础
2.1 关系型数据库基础概念
2.1.1 数据库模式
2.1.2 数据库查询语言
2.1.3 关系代数与SQL
2.2 关系代数基本运算
2.2.1 选择运算
2.2.2 投影运算
2.2.3 并运算
2.2.4 差运算
2.2.5 笛卡儿积运算
2.2.6 更名运算
2.2.7 关系代数的形式化定义
2.3 进阶关系代数运算
2.3.1 为什么需要附加运算
2.3.2 集合交运算
2.3.3 自然连接运算
2.3.4 赋值运算
2.3.5 广义投影运算
2.3.6 聚合函数
2.3.7 外连接运算
2.4 SQL基础语法
2.4.1 数据类型
2.4.2 定义数据表的模式
2.4.3 完整性约束
2.4.4 SQL查询的基本结构
2.4.5 变量更名运算
2.4.6 字符串匹配
2.4.7 集合运算
2.4.8 插入、更新与删除
2.5 复杂SQL查询
2.5.1 聚合函数
2.5.2 嵌套子查询
2.5.3 递归查询
2.6 存储过程与函数
2.6.1 存储过程
2.6.2 函数
2.7 使用SQL连接数据库
2.7.1 JDBC
2.7.2 ODBC
2.8 视图
2.8.1 视图的定义及其应用
2.8.2 物化视图
2.8.3 使用SQL操作视图
2.9 其他关系语言简介
2.9.1 元组关系演算简介
2.9.2 域关系演算简介
2.9.3 Datalog简介
2.10 小结
2.10.1 术语回顾
2.10.2 习题
CHAPTER 3 第3章 数据库存储引擎
3.1 存储引擎概述
3.2 存储介质
3.2.1 机械硬盘
3.2.2 固态硬盘
3.2.3 云硬盘
3.3 存储访问和缓冲区
3.3.1 为什么需要缓冲区
3.3.2 缓冲区的管理与替换策略
3.3.3 GaussDB的缓冲区管理
3.4 GaussDB行存储引擎
3.4.1 Astore存储引擎
3.4.2 Ustore存储引擎
3.5 GaussDB列存储引擎
3.5.1 列存储单元结构
3.5.2 列存储的MVCC
3.6 GaussDB内存引擎
3.7 索引
3.7.1 稠密索引和稀疏索引
3.7.2 哈希索引
3.7.3 B+树
3.7.4 GaussDB支持的索引类型
3.8 预写日志
3.8.1 WAL协议
3.8.2 基于WAL的故障恢复
3.9 检查点
3.10 小结
3.10.1 术语回顾
3.10.2 习题
CHAPTER 4 第4章 事务管理
4.1 事务的概念
4.1.1 事务的原子性
4.1.2 事务的持久性
4.1.3 事务的隔离性
4.1.4 事务的一致性
4.1.5 事务隔离级别
4.2 并发执行与调度
4.2.1 并发执行
4.2.2 可串行化
4.2.3 可恢复性
4.3 并发控制
4.3.1 基于锁的协议
4.3.2 死锁处理
4.3.3 基于时间戳的协议
4.3.4 乐观并发控制
4.4 故障恢复
4.4.1 常见数据库故障
4.4.2 数据恢复与事务原子性
4.4.3 基于重做日志的恢复
4.4.4 基于回滚日志的恢复
4.4.5 缓冲区管理
4.4.6 非易失存储下的故障恢复
4.4.7 远程备份
4.5 GaussDB事务机制
4.5.1 GaussDB中的事务ACID特性
4.5.2 GaussDB的并发控制
4.6 小结
4.6.1 术语回顾
4.6.2 习题
CHAPTER 5 第5章 查询处理
5.1 查询处理的一般流程
5.2 SQL查询解析概述
5.2.1 何谓语法
5.2.2 词法分析
5.2.3 语法分析
5.2.4 语义分析
5.3 查询计划
5.3.1 查询算子
5.3.2 查询树
5.4 选择操作的实现
5.4.1 线性扫描
5.4.2 基于索引的等值查询
5.4.3 基于索引的比较
5.4.4 复杂选择的实现
5.5 排序操作的实现
5.5.1 外存排序
5.5.2 代价分析
5.6 连接操作的实现
5.6.1 循环嵌套连接
5.6.2 索引循环嵌套连接
5.6.3 分块循环嵌套连接
5.6.4 排序归并连接
5.6.5 哈希连接
5.7 聚合操作的实现
5.8 小结
5.8.1 术语回顾
5.8.2 习题
CHAPTER 6 第6章 查询优化
6.1 查询优化概述
6.1.1 查询代价的度量
6.1.2 查询计划的逻辑查询优化与物理查询优化
6.2 关系表达式的等价变换
6.2.1 等价变换规则
6.2.2 变换示例
6.3 基数估计
6.3.1 选择运算
6.3.2 连接运算
6.3.3 投影运算
6.3.4 HyperLogLog算法
6.3.5 蓄水池算法
6.4 连接顺序选择
6.4.1 基于动态规划的连接顺序选择
6.4.2 基于启发式方法的连接顺序选择
6.5 基于人工智能的查询优化
6.5.1 离线优化与在线优化
6.5.2 NP难问题的近似求解
6.5.3 数据库中的回归问题
6.5.4 数据库中的预测问题
6.6 流水线执行
6.6.1 流水线与表达式的物化
6.6.2 流水线的实现方式
6.6.3 为流水线改写算法
6.7 物理优化
6.7.1 物理算子选取
6.7.2 确定执行顺序
6.8 GaussDB中的查询优化
6.9 小结
6.9.1 术语回顾
6.9.2 习题
CHAPTER 7 第7章 查询执行
7.1 拉取式模型
7.1.1 火山模型
7.1.2 物化模型
7.1.3 向量化执行模型
7.2 推送式模型
7.3 编译执行
7.3.1 底层虚拟机
7.3.2 实时编译
7.3.3 缓存优化
7.4 GaussDB执行引擎
7.4.1 GaussDB执行引擎的架构
7.4.2 GaussDB执行引擎的关键技术
7.4.3 GaussDB执行引擎的优化策略
7.5 小结
7.5.1 术语回顾
7.5.2 习题
CHAPTER 8 第8章 分布式数据库
8.1 分布式数据库系统概念
8.1.1 为什么需要分布式
8.1.2 计算机网络概述
8.1.3 分布式数据库带来的设计挑战
8.2 分布式存储
8.2.1 基于锁的并发控制算法
8.2.2 基于MVCC的多版本并发控制算法
8.2.3 数据分片
8.2.4 多副本管理
8.3 分布式查询处理
8.3.1 分布式代价模型
8.3.2 分布式动态查询优化
8.3.3 分布式静态查询优化
8.3.4 分布式混合查询优化
8.4 分布式数据库的可靠性
8.4.1 可靠性的概念和度量
8.4.2 分布式数据库故障
8.4.3 局部可靠性协议
8.4.4 分布式可靠性协议
8.5 GaussDB分布式查询处理
8.5.1 GaussDB分布式架构
8.5.2 GaussDB分布式查询优化
8.5.3 GaussDB分布式执行引擎
8.5.4 GaussDB分布式事务处理
8.5.5 GaussDB分布式存储引擎
8.6 小结
8.6.1 术语回顾
8.6.2 习题
CHAPTER 9 第9章 GaussDB数据库关键技术
9.1 GaussDB高可用技术
9.1.1 多层级冗余
9.1.2 DCF高可用组件
9.1.3 跨AZ容灾技术
9.1.4 备份与闪回
9.1.5 应用无损透明
9.1.6 双集群强一致
9.2 GaussDB高安全技术
9.2.1 安全机制的概念
9.2.2 访问控制
9.2.3 全密态
9.2.4 透明数据加密
9.2.5 动态数据脱敏
9.2.6 防篡改
9.3 GaussDB高性能技术
9.3.1 软硬结合
9.3.2 并发执行
9.3.3 实时编译
9.3.4 日志并行流水线
9.3.5 计划缓存
9.3.6 GTM-Lite
9.4 GaussDB高弹性技术
9.5 GaussDB高智能技术
9.5.1 AI查询时间预测
9.5.2 参数调优和诊断
9.5.3 慢SQL发现
9.5.4 智能索引推荐
9.5.5 指标采集、预测与异常检测
9.5.6 DEEP SQL
9.5.7 数据库原生AI算法
9.6 小结
9.6.1 术语回顾
9.6.2 习题
CHAPTER 10 第10章 基于GaussDB的数据库设计与开发实践
10.1 基于实体-联系模型的概念数据库设计
10.1.1 实体-联系模型
10.1.2 实体集、联系集与属性
10.1.3 实体-联系模式图
10.2 基于关系模型的逻辑数据库设计
10.2.1 关系模型
10.2.2 形成初始关系数据库模式
10.2.3 查询和性能需求
10.2.4 基于函数依赖的关系模式逻辑规范化
10.2.5 讨论:什么是好的设计
10.3 GaussDB使用基础
10.3.1 访问并购买云原生数据库GaussDB
10.3.2 创建并连接数据库实例
10.3.3 GaussDB上的SQL查询
10.3.4 常见数据库操作
10.3.5 备份恢复
10.3.6 基于GaussDB的权限管理与审计
10.3.7 存储过程
10.3.8 参数修改
10.4 案例研究:基于GaussDB的教学管理系统的实现
10.4.1 背景与需求
10.4.2 概念数据库设计
10.4.3 逻辑数据库设计
10.4.4 系统设计
10.4.5 源码获取和部署
10.5 小结
参考文献
推荐阅读
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜