项目简介
RucBase是一个精简的RDBMS(关系数据库管理系统)原型系统,专为《数据库系统实现》课程的实验教学而设计。该系统借鉴了CMU15 - 445课程的BusTub和Stanford CS346课程的Redbase,旨在提供实验平台,帮助学生理解数据库系统的核心概念和实现细节。
项目的主要特性和功能
核心功能
- 数据库管理:可创建、删除、打开和关闭数据库,管理数据库目录和文件。
- 表管理:能创建、删除表,显示和描述表结构。
- 索引管理:可创建和删除索引,管理B + 树索引结构。
- 事务管理:支持事务的启动、提交和中止,实现并发控制和死锁预防。
- 查询执行:支持SQL查询的解析和执行,实现查询优化和执行计划生成。
实验环境
- 操作系统:Ubuntu 18.04及以上(64位)
- 编译器:GCC
- 编程语言:C++17
- 管理工具:cmake
- 推荐编辑器:VScode
依赖环境库配置
- gcc 7.1及以上版本(要求完全支持C++17)
- cmake 3.16及以上版本
- flex
- bison
- readline
安装使用步骤
前提条件
- 已下载本项目的源码文件。
- 已安装必要的依赖环境库。
安装步骤
- 复制项目:无具体命令,待补充。
- 编译项目:
bash cd rucbase-lab mkdir build cd build cmake .. make
- 运行项目:
bash ./rucbase_client
使用步骤
- 启动数据库服务器:
bash ./rucbase
- 连接到数据库服务器:
bash ./rucbase_client
- 执行SQL命令:
sql CREATE DATABASE db; USE db; CREATE TABLE example_table (id INT PRIMARY KEY, name VARCHAR(255)); INSERT INTO example_table (id, name) VALUES (1, 'example'); SELECT * FROM example_table;
- 关闭数据库服务器:
bash ./rucbase_client exit
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】