项目简介
OshinoDB是一个基于关系模型(RMDB)开发的数据库系统,实现了增删改查、索引和故障恢复等基本功能。此项目是第一届数据库系统大赛的参赛作品,由“我推的数据库”队伍开发。
项目的主要特性和功能
- 支持数据的增删改查操作。
- 实现了B+树索引,支持高效的查询和数据插入。
- 通过日志管理器和恢复管理器实现故障恢复功能。
- 支持事务的开始、提交和回滚操作。
- 通过锁管理器实现行级和表级的共享锁和排他锁。
- 支持SQL语句的解析和执行,包括DDL和DML操作。
- 使用Google Test框架进行全面的单元测试,确保系统的稳定性和可靠性。
安装使用步骤
环境配置
- 依赖环境:
- GCC 7.1及以上版本(要求完全支持C++17)
- CMake 3.16及以上版本
- Flex
- Bison
- Readline
- 编译工具:
- 使用CMake进行项目构建。
- 确保所有依赖库已正确安装。
编译与运行
- 复制项目:
bash cd oshinodb
- 构建项目:
bash mkdir build cd build cmake .. make
- 运行数据库:
bash ./rmdb
- 运行单元测试:
bash ./unit_test
使用说明
- 启动数据库:运行编译后的
rmdb
可执行文件,启动数据库服务器。 - 连接客户端:使用
rmdb_client
连接到数据库服务器,进行数据操作。 - 执行SQL语句:在客户端中输入SQL语句,如创建表、插入数据、查询数据等。
- 事务管理:使用
BEGIN
、COMMIT
和ROLLBACK
命令进行事务管理。
示例操作
```sql -- 创建表 CREATE TABLE test (w_id INT, name CHAR(8), flo FLOAT);
-- 插入数据 INSERT INTO test (w_id, name, flo) VALUES (1, '12345678', 1.0);
-- 查询数据 SELECT * FROM test WHERE w_id = 1;
-- 开始事务 BEGIN;
-- 更新数据 UPDATE test SET flo = 2.0 WHERE w_id = 1;
-- 提交事务 COMMIT; ```
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】