数据库
首页 > 数据库> > 《数据库原理》课程笔记 (Ch05-数据库存储结构)

《数据库原理》课程笔记 (Ch05-数据库存储结构)

作者:互联网

存储介质

数据库采用多级存储器,用的最多的辅存是磁盘。磁盘的耗时主要在寻道时间

磁盘上数据划分为大小相等的物理块,磁盘与内存间的数据交换以物理块为单位。好处:

为了解决磁盘和内存之间速度不匹配,可设立缓冲区

DBMS可以采用延迟写(一系列写入一起进行)与提前读(正在处理i位置时提前调入i+1位置)技术,减少I/O,改善性能。

记录的存储结构

记录

记录到物理块

每个物理块可容纳记录数(块因子)p=[B/R],B:物理块大小,R:固定长记录的大小

通常,B=pR<R,即物理块会留出零头。为了利用这一部分,可以采用跨块组织。

物理块到磁盘

数据压缩

文件结构和存取路径

访问文件的方式

对数据库的操作最终要落实到对文件的操作。

数据库对文件的要求

更多的DBMS不用OS的文件管理系统,而是独立设计其存储结构。因为:

文件的基本类型

索引的建立与使用

动态索引

动态索引是一种平衡多分树(即B-树),常用B+树。

用B+树实现主索引

要找键值Kx所对应的记录时,从索引树的根开始,按照大小夹逼原理,自上而下地搜索。即:若Kx<K0,则沿P0所指的节点向下搜索;若Kx>Kn-1,则沿Pn所指的节点向下搜索;若Ki-1<Kx≤Ki,则沿Pi所指的节点向下搜索。

索引集节点中的键值不一定是文件中当前存在的键值(仅起“导航路标”的作用)。在搜索过程中,即使发现索引集节点中的键值等于要找的键值,查找仍要按上述规则进行下去

B+树提供的存取路径

效率

搜索B+树所需的I/O次数决定于其级数L,最多经过L次I/O就可以搜索到,而B+树的级数决定于N(索引属性不同键值的数目),而不是记录数

补充知识

到底什么是稠密索引和非稠密索引

稠密索引每个数据记录的键值对应一个索引项。也就是说,稠密索引为数据记录文件的每一条记录都设一个键-指针对。

非稠密索引不为每个数据记录的键值设立索引项。也就是说,为数据记录文件的每个存储块设一个键-指针对。

到底什么是主索引和次索引

标签:文件,稠密,簇集,Ch05,数据库,笔记,索引,键值,主键
来源: https://www.cnblogs.com/zxuuu/p/12969266.html