# ️ DBMS_Bashscript
A simple, lightweight **Database Management System (DBMS)** implemented entirely in **Bash Shell Script**. This project simulates the core functionalities of a relational database system using standard Linux tools and file handling.
## Features
- Create and delete **databases**
- Create, update, delete, and select from **tables**
- Define table **schema** with column types and primary key
- Perform basic **CRUD operations**:
- `INSERT`, `SELECT`, `UPDATE`, `DELETE`
- Store metadata for column definitions and data types
- CLI-driven navigation with clear menus
- Organized structure using directories for databases and files for tables
## Project Structure
- `main_menu.sh` – Main interface to navigate the DBMS
- `create_db.sh` – Create a new database (as a directory)
- `drop_db.sh` – Delete a database
- `list_dbs.sh` – List all available databases
- `table_menu.sh` – Menu to manage tables within a database
- `create_table.sh` – Create a new table with schema
- `insert_into_table.sh` – Insert records with data validation
- `select_from_table.sh` – View and filter table data
- `update_table.sh` – Update existing records
- `delete_from_table.sh` – Remove specific records
- `metadata` – Schema information stored in a separate file per table
## ? How It Works
- Each **database** is represented as a directory.
- Each **table** is stored as a `.txt` file, with one line per row.
- Each table has a corresponding **metadata file** to store column names, data types, and primary key information.
- Data validation is performed during insert/update based on metadata.
## ️ Usage
1. Clone the repository:
```bash
git clone https://github.com/SaraNo...
cd DBMS_Bashscript