Giter Site home page Giter Site logo

iciclef / thu-rdbms Goto Github PK

View Code? Open in Web Editor NEW
3.0 3.0 0.0 325 KB

A single-user database management system, as the programming assignment of THU Introduction to Database System curriculum.

License: MIT License

CMake 0.69% C++ 92.01% C 0.70% Python 0.53% Lex 2.28% Yacc 3.79%

thu-rdbms's Introduction

Hi!

I'm currently a third-year Ph.D student in Tsinghua University. My major is storage systems -- a fairly wide topic.

  • 🔭 I’m currently working on: distributed in-memory storage systems, mainly their fault-tolerance and concurrency.
  • 🌱 I’m interested in: programmable network!

Also find me on our lab's homepage.

thu-rdbms's People

Contributors

iciclef avatar jxt14 avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

thu-rdbms's Issues

MetaManager

完成一个 MetaManager 类,封装 INDEX 以外的DDL(因为只涉及文件操作)。
不实现 CREATE TABLE ,这部分先直接调用空壳接口。

引入词法和语法分析器

使用 flex/bison 写一个语法解析器。

基本要求: 能解析本阶段的所有指令。
扩充要求: 能解析 DML。

配套实现一个抽象语法树。

System Management

这是一个大Issue,仅供参考,提交的时候不应该关联这个Issue

根据 Stanford 官网的指示,我们这一阶段要实现 DDL。
在此描述我们要做的工作:

  1. CREATE DATABASE/DROP DATABASE
    创建和删除数据库。
  2. USE
    切换数据库。

对数据库的管理可以认为是对工作环境的切换,一个时间只能工作在一个数据库中。

  1. CREATE/DROP TABLE
    创建和删除数据表。
  2. CREATE/DROP INDEX
    创建和删除索引
  3. DESC
    输出数据表的信息。
  4. SET
    设置系统参数,具体是哪些参数可以再作讨论。

该阶段必须引入词法和语法分析器。

DeleteEntry GetPage

完善B+树里deleteEntry中多个Page可以不同时在缓存中的问题(事先缓存下来)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.