基于cstack/db_tutorial C语言版本
- KCNyu
- 2022/2/2
作为笔者写的第一个系列型教程,还是选择基于前人的教程经验以及添加一些自己个人的探索。也许有很多纰漏之处,希望大家指正。
数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。使用者可以对其中的资料执行新增、选取、更新、刪除等操作。
SQL (Structured Query Language:结构化查询语言) 是一种特定目的程式语言,用于管理关系数据库管理系统 (RDBMS),或在关系流数据管理系统 (RDSMS) 中进行流处理。
前端 (front-end)
-
分词器 (tokenizer)
-
解析器 (parser)
-
代码生成器 (code generator)
后端 (back-end)
-
虚拟机 (virtual machine)
-
B树 (B-tree)
-
分页 (pager)
-
操作系统层接口 (os interface)
- 添加测试用例
- 运行并查看失败的用例
- 改动代码以通过测试
- 通过全部测试
- 本单元完整代码实现 (db.cpp)
- 本单元对应测试用例 (db_test.rb)
- 本单元对应教程详解 (README.md)
- tutorial01-安装测试环境和实现REPL
- tutorial02-实现解析前端和虚拟机
- tutorial03-实现insert和select
- tutorial04-边界测试与修复BUG
- tutorial05-实现磁盘存储
- tutorial06-实现光标
- tutorial07-初步实现B-Tree
- tutorial08-实现二分搜索和防重
- tutorial09-实现拆分叶结点
- tutorial10-实现递归搜索
- tutorial11-实现扫描多层树
- tutorial12-实现更新拆分后的父结点