【C语言搭建数据库】Part00 - 概述

232 阅读1分钟

本项目使用C语言教你制作自己的sqlite数据库,并被github爆火项目合集build-your-own-x收录,经译者翻译为中文,供大家学习参考。 在这里插入图片描述 在这里插入图片描述

原文章地址: cstack.github.io/db_tutorial…

源仓库地址: github.com/cstack/db_t…

由于本人水平有限,翻译不当之处在所难免,敬请指正。


作为一位网页开发者,我每天都在工作中使用关系型数据库,但这对我来说却是个黑盒。对此我有几个问题想要了解:

  • 数据库的数据用什么格式进行存储?
  • 数据库什么时候把数据从内存移动到磁盘中?
  • 为什么每个表只需要一个主键?
  • 数据库怎么进行回滚操作?
  • 索引是怎么格式化的?
  • 扫描整个表时,在时间上和空间上都会发生什么?
  • 准备好的语句用什么格式保存?

换句话说,一个数据库是怎么工作的?

为了弄清楚这些问题,我基于scratch写了一个数据库。这个数据库模仿了sqlite,它有轻量化的优点,和MySQL或PostgreSQL相比使用更少的特征,所以我有更大的希望来彻底理解他。数据库的全部代码被存储在一个单独的文件中!