Skip to content

A relational database management system supporting insertion, updating, deletion, searching. It supports indexing using B+Trees.

Notifications You must be signed in to change notification settings

mostafa-abdullah/DBMS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Readme

The project has three packages

  • DB
  • BPTree
  • Exceptions

DB Package:

Contains the basic files for the DBMS

  • DBApp.java, this file contains all the major methods for the DBMS, insertIntoTable, selectFromTable, createIndex, update and delete.
  • DBAppTest.java, this file contains the only main method in the project.
  • Page.java, this file contains the class for creating the table pages.
  • Table.java, this file contains the class for creating DB tables.
  • Tuple.java, this file contains the class for creating single taple records stored in the pages.

BPTree Package

Contains the files of the B+ Tree

  • BPTree.java, the main class for the B+ Tree, it contains the major methods: insert, delete, update, find.
  • Leaf.java, the class for creating the tree leaves.
  • NonLeaf.java, the class for creating the tree non-leaves.
  • Node.java, the superclass which Leaf and NonLeaf classes extend.
  • NodeEntry.java, the class for the content of the non-leaves.
  • TuplePointer.java, the class for the content of the leaves.

Exceptions Package

  • Contains the needed exceptions in the DBMS.

How to run the project?

Using the makefile:

  • Open the terminal and type the appropriate make command:
    • make all --> compiles and runs the main method in DBAppTest class
    • make compile --> compiles the files only and saves the .class files in the bin folder.
    • make run --> runs the .class files from the bin folder.
    • make clean --> Deletes the current data of the database

To test the project, you need to add your custom database entries in DBAppTest.java, then use the makefile to run the project as indicated above, or run it directly from your IDE.

About

A relational database management system supporting insertion, updating, deletion, searching. It supports indexing using B+Trees.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published