顶部
收藏

数据库管理系统——从基本原理到系统构建


作者:
李国良 冯建华 柴成亮 李辉 编著
定价:
86.00元
ISBN:
978-7-04-060526-6
版面字数:
860.000千字
开本:
16开
全书页数:
暂无
装帧形式:
平装
重点项目:
暂无
出版时间:
2024-03-21
读者对象:
高等教育
一级分类:
计算机/教育技术类
二级分类:
计算机类专业核心课程
三级分类:
数据库系统原理

本书是计算机领域本科教育教学改革试点工作(简称“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 习题
  • 参考文献

相关图书