注册 登录 进入教材巡展
#

出版时间:2024-06

出版社:高等教育出版社

以下为《数据库管理系统——从基本原理到系统构建》的配套数字资源,这些资源在您购买图书后将免费附送给您:
  • 高等教育出版社
  • 9787040605266
  • 1版
  • 514578
  • 44259715-9
  • 平装
  • 16开
  • 2024-06
  • 700
  • 692
  • 计算机科学与技术
  • 本科
内容简介

本书是计算机领域本科教育教学改革试点工作(简称“101计划”)系列教材之一。本书主要讲述数据库管理系统基本原理与核心技术,重点介绍了数据库的构建方法。主要内容包括引言、关系模型和关系代数、关系数据库设计、SQL、数据库存储、事务管理、数据库原子性和持久性的实现及故障恢复、并发控制、索引、查询处理、查询优化、查询执行、数据库安全、高级数据库技术,以及两个数据库案例——GaussDB和SQLite。

本书可作为高等学校计算机及相关专业数据库课程教材使用,也可供研究人员和业界工程师实施数据库项目研发时参考。

目录

 前辅文
 第1章 引言
  1.1 数据库概述
   1.1.1 数据库的基本概念
   1.1.2 数据库管理系统概述
  1.2 数据库发展简史
   1.2.1 层次数据库和网状数据库
   1.2.2 关系数据库
   1.2.3 OLTP、OLAP与HTAP数据库
   1.2.4 NoSQL数据库
   1.2.5 分布式数据库
   1.2.6 内存数据库
   1.2.7 云数据库
   1.2.8 其他类型数据库
  1.3 数据库系统的应用和展望
   1.3.1 数据库系统的应用
   1.3.2 数据库发展新机遇
  1.4 小结
  1.5 习题
 第2章 关系模型和关系代数
  2.1 关系数据库和关系模型
   2.1.1 关系数据结构
   2.1.2 关系操作和关系数据库语言
   2.1.3 关系完整性约束
  2.2 关系代数
   2.2.1 基本关系代数运算
   2.2.2 附加关系代数运算
   2.2.3 扩展关系代数运算
   2.2.4 关系代数表达式
  2.3 关系演算
   2.3.1 元组关系演算
   2.3.2 域关系演算
  2.4 小结
  2.5 习题
 第3章 关系数据库设计
  3.1 数据库设计和数据模型
  3.2 概念结构设计:E-R模型
   3.2.1 E-R模型的基本元素
   3.2.2 E-R图
   3.2.3 E-R联系类型
  3.3 逻辑结构设计:从E-R图到关系设计
  3.4 数据库规范化设计理论
   3.4.1 函数依赖
   3.4.2 规范化和范式
   3.4.3 数据依赖的公理系统
  3.5 数据库规范化设计与实现
   3.5.1 关系模式分解的定义
   3.5.2 分解的无损连接性和保持依赖性
   3.5.3 模式分解的算法
  3.6 小结
  3.7 习题
 第4章 SQL
  4.1 SQL查询语言概览
  4.2 SQL数据定义语言
   4.2.1 表的创建、修改与删除
   4.2.2 索引的创建、修改与删除
   4.2.3 视图的创建、修改与删除
   4.2.4 物化视图
   4.2.5 数据字典
  4.3 SQL数据操纵语言
   4.3.1 数据查询
   4.3.2 数据更新
  4.4 SQL数据控制语言
   4.4.1 权限授予
   4.4.2 权限收回
  4.5 存储过程和函数
   4.5.1 创建和调用存储过程
   4.5.2 创建和调用函数
   4.5.3 存储过程和函数的区别
   4.5.4 变量和流程控制
   4.5.5 删除存储过程和函数
  4.6 触发器
   4.6.1 创建触发器
   4.6.2 删除触发器
   4.6.3 触发器的应用场景
  4.7 使用程序设计语言访问数据库
   4.7.1 嵌入式SQL
   4.7.2 JDBC
   4.7.3 ODBC
  4.8 小结
  4.9 习题
 第5章 数据库存储
  5.1 存储概览
  5.2 存储介质
   5.2.1 存储介质简介
   5.2.2 磁盘
  5.3 存储结构
  5.4 记录组织
  5.5 页面组织
   5.5.1 定长记录页面组织结构
   5.5.2 变长记录页面组织结构
  5.6 文件组织
   5.6.1 堆表文件组织
   5.6.2 顺序表文件组织
   5.6.3 哈希表文件组织
   5.6.4 B+树文件组织
   5.6.5 文件组织方法对比
   5.6.6 多表聚簇文件组织
  5.7 空闲空间管理
  5.8 元数据存储
  5.9 缓冲区
   5.9.1 缓冲区管理器
   5.9.2 缓冲区页面替换策略
   5.9.3 日志和故障恢复
  5.10 行存储与列存储
   5.10.1 列存储的文件组织
   5.10.2 行列转换
   5.10.3 行列混合存储
  5.11 小结
  5.12 习题
 第6章 事务管理
  6.1 事务概览及其概念
  6.2 事务的特性
   6.2.1 原子性
   6.2.2 一致性
   6.2.3 持久性
   6.2.4 隔离性
  6.3 可串行化调度
   6.3.1 调度
   6.3.2 可串行化调度
   6.3.3 冲突可串行化调度
   6.3.4 视图可串行化调度
   6.3.5 可恢复调度和无级联调度
  6.4 事务的隔离级别
   6.4.1 读未提交
   6.4.2 读已提交
   6.4.3 可重复读
   6.4.4 可串行化
   6.4.5 隔离级别的选择
  6.5 保证事务ACID的技术
  6.6 小结
  6.7 习题
 第7章 数据库原子性和持久性的实现及故障恢复
  7.1 正常无故障事务原子性和持久性的实现
  7.2 数据库故障恢复机制概述
   7.2.1 常见数据库故障
   7.2.2 数据库恢复机制架构
   7.2.3 高可用指标
  7.3 单机系统崩溃恢复方法
   7.3.1 恢复方法的策略设计
   7.3.2 数据库日志
   7.3.3 影子复制
   7.3.4 基于仅回滚日志的恢复算法
   7.3.5 基于仅重做日志的恢复算法
   7.3.6 基于回滚/重做日志的恢复算法
   7.3.7 检查点机制
  7.4 ARIES恢复算法
   7.4.1 ARIES设计思路
   7.4.2 ARIES优化策略
   7.4.3 ARIES恢复系统架构
   7.4.4 ARIES正常流程
   7.4.5 恢复算法的流程
   7.4.6 基于增量检查点的优化
  7.5 数据库备份技术
   7.5.1 常用备份技术
   7.5.2 备份恢复
  7.6 数据库多机恢复
   7.6.1 数据库多机恢复概述
   7.6.2 主备模式架构
   7.6.3 两地三中心恢复
   7.6.4 异地多活恢复
  7.7 小结
  7.8 习题
 第8章 并发控制
  8.1 并发控制概览
  8.2 悲观并发控制技术
   8.2.1 锁
   8.2.2 锁管理器
   8.2.3 两阶段锁协议
   8.2.4 两阶段锁协议支持的隔离级别
   8.2.5 死锁
   8.2.6 基于图的锁协议
   8.2.7 锁的粒度
   8.2.8 闩锁
  8.3 乐观并发控制技术
   8.3.1 时间戳
   8.3.2 时间戳排序协议
   8.3.3 乐观并发控制协议
  8.4 多版本机制
   8.4.1 多版本时间戳排序协议
   8.4.2 多版本两阶段锁协议
   8.4.3 多版本乐观并发控制协议
   8.4.4 版本存储
   8.4.5 版本删除
   8.4.6 多版本机制中的索引管理
   8.4.7 多版本机制的实际应用
  8.5 并发控制协议比较
  8.6 小结
  8.7 习题
 第9章 索引
  9.1 索引概述
  9.2 索引基本概念
   9.2.1 稠密索引与稀疏索引
   9.2.2 多级索引
   9.2.3 辅助索引
  9.3 B+树索引
   9.3.1 B+树概览
   9.3.2 B+树查找算法
   9.3.3 B+树插入算法
   9.3.4 B+树删除算法
   9.3.5 B+树并发访问算法
  9.4 哈希索引
   9.4.1 哈希函数
   9.4.2 桶溢出处理
   9.4.3 动态哈希
  9.5 LSM树索引
   9.5.1 LSM树结构
   9.5.2 LSM树优化
   9.5.3 实例分析:LevelDB
   9.5.4 LSM树与B+树对比
  9.6 位图索引
  9.7 多维索引
   9.7.1 网格文件
   9.7.2 四叉树
   9.7.3 KD树
   9.7.4 R树
  9.8 小结
  9.9 习题
 第10章 查询处理
  10.1 查询处理概述
  10.2 SQL解析
   10.2.1 词法分析
   10.2.2 语法分析
   10.2.3 语义分析
  10.3 查询优化概述
  10.4 查询算子概述
  10.5 排序算子实现与代价分析
   10.5.1 外部归并排序
   10.5.2 外部归并排序代价分析
  10.6 选择算子实现及代价分析
   10.6.1 线性扫描与索引扫描
   10.6.2 等值选择
   10.6.3 范围选择
   10.6.4 合取与析取选择
  10.7 连接算子实现及代价分析
   10.7.1 嵌套循环连接
   10.7.2 块嵌套循环连接
   10.7.3 索引嵌套循环连接
   10.7.4 排序归并连接
   10.7.5 哈希连接
  10.8 其他运算实现与代价分析
   10.8.1 排序和哈希划分
   10.8.2 去重
   10.8.3 集合运算
   10.8.4 聚集运算
  10.9 小结
  10.10 习题
 第11章 查询优化
  11.1 查询优化概述
  11.2 查询重写
   11.2.1 交换律与结合律
   11.2.2 选择运算
   11.2.3 投影运算
   11.2.4 连接与笛卡儿积运算
   11.2.5 去重运算
   11.2.6 分组聚集运算
   11.2.7 重写过程
  11.3 代价估计
   11.3.1 统计信息
   11.3.2 选择运算的基数估计
   11.3.3 连接运算的基数估计
   11.3.4 其他算子的基数估计
   11.3.5 基于数据画像的基数估计
   11.3.6 基于采样的基数估计
  11.4 连接顺序选择
   11.4.1 连接树
   11.4.2 使用动态规划算法选择连接顺序
   11.4.3 贪心算法
   11.4.4 遗传算法
  11.5 物理计划选择
   11.5.1 从逻辑计划到物理计划
   11.5.2 选择运算的物理算子选取方法
   11.5.3 连接算子的物理算子选取方法
   11.5.4 物化与流水线
   11.5.5 物理操作顺序
  11.6 基于物化视图的查询优化
   11.6.1 视图维护
   11.6.2 增量维护
   11.6.3 查询优化与物化视图
  11.7 小结
  11.8 习题
 第12章 查询执行
  12.1 查询执行概述
   12.1.1 查询执行模型发展历程
   12.1.2 查询执行模式
   12.1.3 查询执行优化技术
  12.2 拉取式模型
   12.2.1 火山模型
   12.2.2 物化模型
   12.2.3 向量化执行模型
   12.2.4 火山、物化、向量化执行模型对比
  12.3 推送式模型
  12.4 编译执行与代码生成
   12.4.1 LLVM概述
   12.4.2 预先编译与实时编译
   12.4.3 源到源编译模型:HIQUE
   12.4.4 实时编译模型:HYPER
   12.4.5 数据库中编译执行过程
  12.5 小结
  12.6 习题
 第13章 数据库安全
  13.1 数据库安全概述
  13.2 数据库安全威胁
   13.2.1 内部威胁
   13.2.2 外部威胁
   13.2.3 数据库安全需求
  13.3 外围级数据库安全措施
   13.3.1 安全认证
   13.3.2 防火墙
   13.3.3 入侵检测
  13.4 访问级数据库安全措施
   13.4.1 访问控制
   13.4.2 安全配置策略
   13.4.3 数据库审计
  13.5 数据级数据库安全措施
   13.5.1 数据加密
   13.5.2 隐私保护
  13.6 小结
  13.7 习题
 第14章 高级数据库技术
  14.1 分布式数据库
   14.1.1 分布式数据库概述
   14.1.2 分布式数据库架构
   14.1.3 分布式数据库相关技术
  14.2 OLAP数据库
   14.2.1 OLAP概述
   14.2.2 OLAP与数据仓库
   14.2.3 OLAP数据库架构
   14.2.4 OLAP数据库存储
  14.3 HTAP数据库
   14.3.1 HTAP数据库概述
   14.3.2 HTAP数据库的存储架构分类
   14.3.3 HTAP数据库关键技术
  14.4 内存数据库
   14.4.1 内存数据库概述
   14.4.2 内存数据库相关技术
  14.5 云数据库
   14.5.1 云服务与云数据库概述
   14.5.2 云托管数据库
   14.5.3 云原生数据库
  14.6 数据库与新硬件
   14.6.1 新硬件概述
   14.6.2 新硬件与数据库
  14.7 NoSQL数据库
   14.7.1 NoSQL数据库概述
   14.7.2 NoSQL数据一致性理论
   14.7.3 NoSQL数据库分类
  14.8 小结
  14.9 习题
 第15章 GaussDB简介
  15.1 GaussDB总体架构
   15.1.1 GaussDB单机架构
   15.1.2 GaussDB分布式架构
   15.1.3 GaussDB云原生架构
   15.1.4 支持新硬件
  15.2 GaussDB单机查询处理技术
   15.2.1 GaussDB查询优化
   15.2.2 GaussDB查询执行
  15.3 GaussDB存储技术
   15.3.1 概述
   15.3.2 行存储引擎
   15.3.3 列存储引擎
   15.3.4 内存引擎
  15.4 GaussDB分布式技术
  15.5 GaussDB高可用技术
  15.6 GaussDB安全
  15.7小结
  15.8 习题
 第16章 嵌入式数据库SQLite简介
  16.1 嵌入式数据库与SQLite概述
   16.1.1 嵌入式数据库产生的背景
   16.1.2 嵌入式数据库的特点
   16.1.3 常见的嵌入式数据库
   16.1.4 SQLite嵌入式的使用场景
  16.2 SQLite总体架构
  16.3 SQLite查询处理技术
   16.3.1 SQLite查询分析
   16.3.2 SQLite查询优化
   16.3.3 SQLite查询计划执行
  16.4 SQLite存储技术
   16.4.1 B树页面结构
   16.4.2 元数据页面组织
  16.5 SQLite事务管理技术
   16.5.1 回滚模式
   16.5.2 预写日志模式
  16.6 小结
  16.7 习题
 参考文献