跳转至

1.课程主页

课程主页

slides

notes

2.课程简介

无论是主流的关系数据库或者其他非关系数据库,它们的模型都是由无序的数据集组成,且能够提供高效的查询、修改等操作的系统。

同时,数据库往往能支持许多特性,如事务、版本控制、分布式等能力。

15-445主要讨论的是关系模型下的关系数据库。关系模型的数据结构常常以关系,也称之为表(relation、table)呈现,其中relations是由无序的元组(tuple)组成的。tuple在table中表现为行,由各个属性(attributes)组成,表现为table中的列。

ID Name dept_name Salary
10101 Srinivasan Comp.Sci. 65000
12121 Wu Finance 90000

对表进行操作的语言为SQL,这是一种声明式语言,用于告知数据库系统我们想要想要存储、得到什么数据。

数据库得到用户传入的SQL语句后,还需要对SQL语句进行解析,重构与优化,从而生成高效的、对数据库底层数据进行操作的执行计划。

15445-9

执行计划又分为逻辑计划和物理计划。

逻辑计划指的是由关系代数组成的逻辑树,物理计划指的是数据库底层如何实现逻辑计划的操作。

15445-6

由于内存的容量是有限的,数据库系统在执行物理计划时,需要提供所有数据都可以放在内存中的假象。虽然操作系统的虚拟内存可以做到,但是为了性能,数据库系统需要自行实现缓存池管理器。

15445-17

缓存池管理器管理的是基于页的数据块,所有数据都是通过页进行存储的。包括表的数据和其他元数据。

15445-18