DBee

Data storage systems

Description

Authorial Relational Database Management System (RDBMS) created with C++20. App is intended to serve as a storage, which enable to manage data with query language similar to SQL. User can create and manage multiple databases within the entire system. While building this system, I learned how relational databases work under the hood - including how they handle schemas, data types, constraints, and foreign keys. This helped me better understand how higher-level tools work and how to connect application development with how databases are actually built.

Tech stack

  • C++20
  • CMake

Features

  • Possibility to manage multiple independent databases in one environment.
  • Support for creating and managing tables with the ability to define columns with precisely defined data types: INTEGER, FLOAT or TEXT.
  • Possibility to add important constraints on columns to ensure data integrity: PRIMARY KEY, FOREIGN KEY, UNIQUE or NOT NULL.
  • Parser, which has ability to interpret queries written in a SQL-like syntax and execute proper operations based on entered query.
  • Possibility to save and read RDBMS data from file. Enable to restore the entire RDBMS structure including databases, tables, columns, constraints and data.
Wiktor Chudy | Full Stack Software Engineer