# Bash Shell Script Database Management System (DBMS)
## π Project Overview
This project aims to develop a **Database Management System (DBMS)** using **Bash scripting**, allowing users to store and retrieve data from a **hard disk**. The application operates through a **Command Line Interface (CLI) Menu**, providing essential database functionalities.
## π― Features
### **Main Menu**
Upon starting the application, the user will be presented with the following menu:
- π **Create Database** β Allows users to create a new database.
- π **List Databases** β Displays all available databases.
- π **Connect to Database** β Enables users to access a specific database.
- β **Drop Database** β Deletes an existing database.
### **Database Menu**
Once connected to a specific database, the user will have access to the following options:
- π **Create Table** β Allows users to define a new table with specified columns.
- π **List Tables** β Displays all tables within the connected database.
- π **Drop Table** β Deletes a specific table from the database.
- β **Insert into Table** β Adds new records into a specified table.
- π **Select from Table** β Retrieves and displays records from a table in a **structured format**.
- β **Delete from Table** β Removes specific rows from a table.
- β **Update Table** β Modifies existing data in a table.
## π Hints & Implementation Details
- π **Database Storage** β Each database is stored as a **directory** within the script's directory.
- π **Data Display** β Retrieved data is formatted neatly for better readability in the terminal.
- π **Column Data Types** β Users are required to define column **data types** during table creation, and data validation is enforced during insertion and updates.
- π **Primary Key Constraint** β Users can define a **primary key** when creating a table. The system ensures uniqueness while inserting records.
## π Installation & Usage
### **Prerequisites**
- A **Linux-based OS** (or WSL on Windows)
- Bash Shell
### **Run the Application**
```bash
chmod +x dbms.sh # Make the script executable
./dbms.sh # Start the DBMS- Fork the repository.
- Create a new branch (
feature-name). - Commit your changes.
- Push to the branch.
- Open a Pull Request.
This project is open-source under the MIT License.
π Enjoy using the Bash Shell Script DBMS!