Welcome to the RDBMS Project! This project implements a Relational Database Management System (RDBMS) using C++. Dive into the world of databases and witness the power of custom data structures and efficient SQL functionalities.
├── a.out
├── fort.c
├── fort.h
├── fort.hpp
├── rdb-attr.cpp
├── rdb-basics.cpp
├── rdb.h
├── rdb-join.cpp
└── rdb-main.cpp
- Custom Attributes: Different attribute types (
integer
,string
,float
,double
) with operator overloading. - Record Management: Create, copy, and print records with ease.
- Relations: Handle multiple records, attribute types, and perform operations like union, difference, cartesian product, projection, selection, and renaming.
- Natural Join: Perform natural joins between relations.
- DNF Formula: Support for Disjunctive Normal Form (DNF) formulas for complex selections.
- Overloaded operators for comparison.
- Pure virtual function
copy_attr
for creating copies of attributes.
- Manages a collection of attributes.
- Supports copying and printing of records.
- Manages multiple records.
- Supports various operations like union, difference, cartesian product, projection, selection, and renaming.
- Contains utility functions for validating and performing operations on relations.
- Derived classes from
Attr
for handling specific types of attributes. - Implement comparison operators and
copy_attr
.
- Structure for handling complex selection conditions in DNF.
-
Compile the project:
g++ -o rdbms rdb-*.cpp fort.cpp
-
Run the executable:
./rdbms
-
Explore the functionality:
- Create relations
- Add records
- Perform operations like union, difference, cartesian product, projection, selection, renaming, and natural join.
This project is licensed under the MIT License.
Special thanks to everyone who supported the development of this project. Your feedback and encouragement were invaluable.
Dive into the code and start exploring the capabilities of this RDBMS. Happy coding! 💻🚀