Skip to content

CS307-Database/engine-project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

数据库引擎开发项目介绍

项目介绍:

本次项目基于提供的Java框架(已实现部分核心模块),完成一个简易数据库引擎的开发,包括:SQL语句解析、逻辑算子、物理算子、存储层设计、数据转换等模块。需要同学们读懂框架,并根据已给出的内容与代码样例,进行补充完善,并实现相关类似的功能。 目前框架中已给出的功能如下:

  • 磁盘I/O读写(存储层设计)
  • CREATE TABLEINSERTUPDATE 语句支持
  • 等值筛选(WHERE)与逻辑判断(AND
  • 全表扫描(SELECT *SeqScan 操作)

项目搭建:

  • 该项目基于Maven工程搭建,建议用过Intellij IDEA打开。

  • 成功导入maven所有依赖后,请在项目根目录,创建文件夹,命名为:CS307-DB 最后项目层级如下显示:

    engine-project
    	- CS307-DB
    	- src
    	- pom.xml
    

使用项目:

运行程序后,可以输入下面的指令尝试使用项目:

create table

create table t( id int, name char, age int, gpa float);

insert

insert into t (id, name, age, gpa) values (1, 'a', 18, 3.6);
insert into t (id, name, age, gpa) values (2, 'b', 19, 3.65);
insert into t (id, name, age, gpa) values (3, 'abb', 18, 3.86);
insert into t (id, name, age, gpa) values (4, 'abc', 19, 2.34);
insert into t (id, name, age, gpa) values (5, 'ef', 20, 3.25);
insert into t (id, name, age, gpa) values (6, 'bbc', 21, 3.20);

select

select * from t;
select * from t where t.age = 19;

问题反馈:

如果读者有任何问题,可以提出issue。但由于一些未能给出的功能会用作教学要求中的任务,但在已实现的功能中,如若发现项目框架本身可能存在的bug,欢迎提出pull request。

About

该项目基于java语言搭建一个简易的数据库引擎项目框架,我们会提供一个可运行的主体框架和部分核心功能实现,其功能包括基础的表创建(CREATE TABLE)、数据查询(SELECT *)和数据插入(INSERT)等语句支持, 在掌握基础框架后,学生需要在此基础上进行功能扩展开发,例如实现DELETE语句全流程操作、完善WHERE条件查询、支持Project投影操作等。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages