数据库系统概念 - 存储、文件结构与索引

本节内容

  1. 数据库文件存储
  2. 文件结构
  3. 索引

数据库存储

(Block):将每个数据库文件分成定长的(4-8KB)存储单元,称为

数据在磁盘和主存之间以(Block)为单位传输。是存储分配和数据分配的基本单元

缓存中的块替换策略:与组成和操作系统不同,数据库常用MRU算法(Most recently used,最近最多使用)。即每次替换都选择最近最常使用的块,将其替换掉(但是正在使用的块不会被替换)。

其他知识参考《组成》有关内容:计算机组成知识点 - 辅助存储器,I/O设备与系统 - 辅助存储器种类与技术指标磁盘存储器

文件组织

1、定长记录

2、变长记录的基本方法:添加终止记录来标志记录的结束。删除、更新困难。

3、变长记录:分槽页的结构(Slotted Page Method)

image-20210703122721481

文件中记录的组织

  1. Heap File 堆文件 Organization (无序)
  2. Sequential File 顺序文件 Organization (按照 search key 的值顺序存储)
  3. Hashing File 散列文件 Organization (hash函数)
  4. 多表聚集文件组织:将经常连接的表(关系、记录)存储在同一个文件中

数据字典

元数据:“关于数据的数据”。数据库系统中维护的关于关系的数据。

数据字典(系统目录):关于关系关系模式其他元数据存储的结构。

数据字典常驻缓存

索引

  • 优点:提高查询速度减少磁盘I/O
    提高查询速度的原因:索引中搜索码有序排列;使用了B树
  • 缺点降低了增删改的速度(因为需要修改索引文件),维护索引需要更高的代价

索引作用:顺序访问;直接访问;存在性检查。

  • 稠密索引:文件中的每个搜索码都有一个索引项。更快,但空间开销大。
  • 稀疏索引:只为搜索码的某些值建立索引项。只有当关系按搜索码排列顺序存储时才可用稀疏存索引。占用空间小。