Skip to content

Adel-elbamb/Bash-Shell-Script-Database-Management-System_project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

6 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

# 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

🀝 Contribution

  1. Fork the repository.
  2. Create a new branch (feature-name).
  3. Commit your changes.
  4. Push to the branch.
  5. Open a Pull Request.

πŸ“ License

This project is open-source under the MIT License.


πŸš€ Enjoy using the Bash Shell Script DBMS!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages