We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
概述 本次大作业要求基于给出的 ThssDB 框架,根据作业要求,使用 Java 语言补充、实现、扩展并调优一个关系型数据库管理系统。本次大作业要求完成 ThssDB 的所有基本功能,并且能够在实现基本功能的基础上提高 ThssDB 在增删改查以及事务并发处理等方面的性能。同时,本次大作业要求在提交大作业代码的同时,提交 ThssDB 的设计文档和用户文档(含运行方式)。
核心模块 2.1 元数据管理模块 在存储引擎的基础上,实现元数据管理模块。框架中的schema包定义了一些基本概念:
2.1.1 基础要求
2.2 存储模块 完成存储引擎,实现对数据的基本管理。框架中的schema包定义了一些基本概念:
此外,框架中的B+树索引,已在index模块中实现,包含的类有:
2.3 查询模块 实现查询引擎,包括SQL解析和查询执行两部分。其中,parser包给出了利用antlr4实现SQL解析的例子。框架中的query包提供了一些可能用到的基础类:
2.3.1 基础要求 经过查询模块的实现,ThssDB应当能够支持下列SQL语句(不区分大小写): SELECT attrName1, attrName2, … attrNameN FROM tableName [WHERE attrName1 = attrValue];
SELECT tableName1.AttrName1, tableName1.AttrName2…, tableName2.AttrName1, tableName2.AttrName2,… FROM tableName1 JOIN tableName2 ON tableName1.attrName1=tableName2.attrName2 [WHERE attrName1 = attrValue]; 上述语句中,Where子句至多涉及一个比较,并且关系为‘’<“,”>”,”<=”,”>=”,”=”,”<>”之一。Select子句不包含表达式。Join至多涉及2张表,On子句的限制同Where子句。 2.3.2 进阶要求
2.4 并发控制模块 实现简单的事务处理模块,支持小规模的并发。 2.4.1 基础要求
2.5 重启恢复模块 2.5.1 基础要求
实现单一事务的WAL机制,要求实现写log和读log,在重启时能够恢复记录的数据即可。 2.5.2 进阶要求
多事务并发下的WAL机制。
实现rollback、savepoint等功能。
评分细则
The text was updated successfully, but these errors were encountered:
No branches or pull requests
概述
本次大作业要求基于给出的 ThssDB 框架,根据作业要求,使用 Java 语言补充、实现、扩展并调优一个关系型数据库管理系统。本次大作业要求完成 ThssDB 的所有基本功能,并且能够在实现基本功能的基础上提高 ThssDB 在增删改查以及事务并发处理等方面的性能。同时,本次大作业要求在提交大作业代码的同时,提交 ThssDB 的设计文档和用户文档(含运行方式)。
核心模块
2.1 元数据管理模块
在存储引擎的基础上,实现元数据管理模块。框架中的schema包定义了一些基本概念:
2.1.1 基础要求
create database dbName;
drop database dbName;
use dbName;
CREATE TABLE tableName(
attrName1 Type1,
attrName2 Type2,
attrNameN TypeN NOT NULL,
…,
PRIMARY KEY(attrName1)
);
示例: CREATE TABLE person (name String(256), ID Int not null, PRIMARY KEY(ID))
DROP TABLE tableName;
SHOW TABLE tableName;
2.1.2 进阶要求
2.2 存储模块
完成存储引擎,实现对数据的基本管理。框架中的schema包定义了一些基本概念:
此外,框架中的B+树索引,已在index模块中实现,包含的类有:
2.2.1 基础要求
INSERT INTO [tableName(attrName1, attrName2,…, attrNameN)] VALUES (attrValue1, attrValue2,…, attrValueN);
示例:INSERT INTO person VALUES (‘Bob’, 15)
INSERT INTO person(name) VALUES (‘Bob’)会提示字段ID不能为空
DELETE FROM tableName WHERE attrName = attValue;
UPDATE tableName SET attrName=attrValue WHERE attrName=attrValue;
2.2.2 进阶要求
2.3 查询模块
实现查询引擎,包括SQL解析和查询执行两部分。其中,parser包给出了利用antlr4实现SQL解析的例子。框架中的query包提供了一些可能用到的基础类:
负责SQL解析的Parser包提供了一些可能用于生成语法树的基础类,同学可根据需要新增SQL语句:
2.3.1 基础要求
经过查询模块的实现,ThssDB应当能够支持下列SQL语句(不区分大小写):
SELECT attrName1, attrName2, … attrNameN FROM tableName [WHERE attrName1 = attrValue];
SELECT tableName1.AttrName1, tableName1.AttrName2…, tableName2.AttrName1, tableName2.AttrName2,… FROM tableName1 JOIN tableName2 ON tableName1.attrName1=tableName2.attrName2 [WHERE attrName1 = attrValue];
上述语句中,Where子句至多涉及一个比较,并且关系为‘’<“,”>”,”<=”,”>=”,”=”,”<>”之一。Select子句不包含表达式。Join至多涉及2张表,On子句的限制同Where子句。
2.3.2 进阶要求
2.4 并发控制模块
实现简单的事务处理模块,支持小规模的并发。
2.4.1 基础要求
2.4.2 进阶要求
2.5 重启恢复模块
2.5.1 基础要求
实现单一事务的WAL机制,要求实现写log和读log,在重启时能够恢复记录的数据即可。
2.5.2 进阶要求
多事务并发下的WAL机制。
实现rollback、savepoint等功能。
评分细则
3.1 基本功能
3.2 性能
3.3 作业报告、用户手册及期末展示
3.4 进阶功能
作业的最终版本请提交作业的源代码,可运行的Jar包,作业报告以及用户手册。
The text was updated successfully, but these errors were encountered: