littlebot
Published on 2025-04-15 / 1 Visits
0

【源码】基于C++的数据库管理系统MiniSQL

项目简介

MiniSQL是一个精简型单用户SQL引擎,用户可通过字符界面输入SQL语句实现基本的增删改查操作,同时能借助索引优化性能。该项目旨在提升学生的系统编程能力,加深对数据库管理系统底层设计的理解。

项目的主要特性和功能

  1. 数据类型:支持integerchar(n)float三种基本数据类型。
  2. 表定义:一张表最多可定义32个属性,各属性可指定是否为unique,支持单属性的主键定义。
  3. 索引定义:表的主属性自动建立B+树索引,声明为unique的属性也会建立B+树索引。
  4. 数据操作:支持用andor连接多条件进行查询,包括等值查询和区间查询;支持单条记录插入,以及单条或多条记录删除。
  5. 系统架构:解释器SQL Parser解析SQL语句生成语法树,交由执行器Executor处理,执行器依据语法树操作相应数据库实例。

安装使用步骤

1. 环境准备

确保已安装以下工具和环境: - WSL2 (Ubuntu) - Visual Studio Code - Git - Glog (用于调试)

2. 进入项目目录

bash cd MiniSQL

3. 编译项目

bash mkdir build cd build cmake .. make

4. 运行项目

bash ./minisql

5. 使用示例

  • 创建数据库sql CREATE DATABASE mydb;
  • 使用数据库sql USE mydb;
  • 创建表sql CREATE TABLE students (id INT PRIMARY KEY, name CHAR(30), age INT);
  • 插入数据sql INSERT INTO students VALUES (1, 'Alice', 22);
  • 查询数据sql SELECT * FROM students WHERE age > 20;
  • 删除数据sql DELETE FROM students WHERE id = 1;
  • 创建索引sql CREATE INDEX idx_name ON students (name);

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】