数据库是现代信息社会的基石。几乎所有的计算机应用软件都构建于数据库系统之上。数据库原理是高校计算机专业的核心课程。本课程通过四门系列子课程介绍数据库的基本原理。
“数据库原理之关系数据库”
介绍数据库的基本概念以及关系模型的定义,重点讲解关系数据库标准语言SQL。学习这门子课程之后,再进一步学习具体的程序设计语言(如C/C++, Java, Python)的数据库应用编程接口(API),你便学习了从事数据库程序设计的基本技能。
“数据库原理之数据库设计”
介绍用于数据库分析和设计的概念模型及其实体-联系方法,讲解关系数据库设计的规范化方法。这门子课程使你超越数据库程序员,走上数据库设计师之路。
“数据库原理之数据存储与查询”
从数据存储设备(通常是磁盘)与内存及CPU数据处理的速度鸿沟入手,讲解数据库管理系统(DBMS)以块为单位的内外存数据传输、缓冲区管理、数据文件组织、索引结构,以及DBMS查询处理与优化的原理与方法。
“数据库原理之事务管理”
介绍DBMS中事务的概念,讲解实现事务特性的并发控制和系统恢复的基本原理和算法。这两门课程是数据库的进阶课程,关乎DBMS内核技术,是系统软件开发者不可无视的核心课程。
证书规则将在开课前发布。
语言程序设计(C或 Java),数据结构
数据库原理之事务管理
第十七讲 事务与调度
事务是数据库管理系统并发控制和恢复的基本单位。讲解事务的基本概念、事务的ACID性质、事务并发执行的益处和潜在问题,以及并发事务的可串行性和可恢复性。
第十八讲 并发控制
并发控制保证多个事务并发执行如同串行执行一般获得正确的运行结果。讲解基于锁的并发控制协议的主要思想、两阶段封锁协议(2PL)、锁的管理、死锁及解决办法,以及多粒度锁。
第十九讲 系统恢复
数据库管理系统确保在发生各种故障的情况下,数据库能恢复到正常状态。分析各种故障类型,讲解基于日志的恢复策略、提高恢复效率的checkpoint方法,以及基于repeating history 的恢复原理。
第二十讲 Aries恢复算法
讲解实际的DBMS中采用的一种数据库系统恢复算法,即Aries算法,包括Aries的数据结构、Aries恢复三阶段等。
1. Abraham Silberschatz, Henry F.Korth, S.Sudarshan, Database System Concepts (6th Edition), McGraw-Hill Companies, 高等教育出版社,2014.6