关系型数据库中的数据存储与检索

Data Storage and Retrieval in Relational Database

本文关键字:存储 检索 数据 数据库 关系型      更新时间:2023-10-16

我正在启动一个项目-迷你数据库系统,基本上是一个像MySQL这样的小数据库。我计划使用c++,我读了几篇文章,了解到表将使用文件进行存储和检索。此外,我需要使用B+树来访问和更新数据。

有人可以用例子解释一下数据如何实际存储在文件中,例如,我有一个数据库"test",其中包含表"student"。

student(id,name,grade,class)和一些学生条目。那么该表的表项将如何存储在文件中,是将其存储在单个文件中,还是将其划分为多个文件,如果以后再存储,那么将如何存储呢?

磁盘上的B+Tree是一堆固定长度的块。你的程序将读取/写入整个块。

在一个块中,记录的数量是可变的。它们是由你选择的某种机制安排的,需要以某种方式排序。

"叶节点"包含实际数据。在"非叶节点"中,"记录"包含指向子节点的指针;这是b树的工作方式。

B+树具有相同级别的链接块的额外链接(和维护麻烦)。

维基百科有一些很好的讨论