Built a fully functional Database Management System (DBMS) from scratch using pure Bash scripting, with no external database engine.
The system simulates real database operations using the Linux file system — each database is a directory and each table is a file.
Features implemented:
- Create, list, connect to, and drop databases
- Create, list, and drop tables
- Insert rows with data validation
- Show/query table data
- Delete specific rows
- Update specific cells
- Menu-driven CLI interface for easy navigation
- Header-based schema with column names and types (integer, string)
- Data stored in plain text files with structured format
Technical highlights:
- Pure Bash scripting with no frameworks or libraries
- File-based storage system using Linux directories and files
- Text processing and parsing using awk
- Modular design — each operation is a separate script
- Input validation and error handling
- chmod-based permission management