跳转至

关系语言

大纲

主要介绍数据库管理系统的设计和实现。主要内容包括

  1. 数据模型(关系、文档、键值)
  2. 存储模型(n-ary、分解)
  3. 查询语言(SQL、存储过程)
  4. 存储架构(堆、日志结构)
  5. 索引(保序树、哈希表)
  6. 事务处理(ACID、并发控制)
  7. 恢复(日志、检查点)
  8. 查询处理(连接、排序、聚集、优化)
  9. 并行架构(多核、分布式)

使用开源和商业数据库系统案例来说明这些技术和权衡。

教程:数据库系统概念(第六版)

重点是编程项目和课后练习,通过这些内容,可以达成的目标包括:

  • 使用关系代数表达数据库查询
  • 使用 SQL 与数据库管理系统交互
  • 使用功能依赖和普通表单设计合适的数据库表
  • 使用堆和索引实现面向磁盘的数据库存储管理器
  • 理解比较和实现基础的并发控制算法
  • 实现数据库恢复算法并检验其正确性
  • 确定数据库系统技术之间的权衡,并对 OLTP 和 OLAP 分布式/并行备选方案进行对比
  • 解释和比较批评数据库系统架构

课程内容

  1. 关系模型
  2. 高级 SQL
  3. 数据存储 I
  4. 数据存储 II
  5. 缓存池
  6. 哈希表
  7. 树索引 I
  8. 树索引 II
  9. 索引并发控制
  10. 查询处理
  11. 排序聚集
  12. JOIN 算法
  13. 查询优化
  14. 并行执行
  15. 嵌入数据库逻辑
  16. 并发控制
  17. 两阶段锁并发控制-TODO
  18. 时间序并发控制
  19. 多版本并发控制
  20. 日志协议和模式
  21. 故障恢复算法(ARIES)
  22. 分布式 OLTP
  23. 分布式 OLAP - TODO