This project is a simple Database Management System (DBMS) implemented using Bash scripting. It allows users to create, manage, and manipulate databases and tables directly from the command line. This project aims to provide a lightweight and easy-to-use interface for database operations, making it an ideal learning tool for those interested in shell scripting and basic database management concepts.
- Create and Delete Databases: Users can create new databases or delete existing ones using simple commands.
- Create and Drop Tables: Users can define new tables within a database and drop them when no longer needed.
- Insert, Update, and Delete Records: Basic CRUD (Create, Read, Update, Delete) operations can be performed on the tables within a database.
- Data Retrieval: Users can run simple queries to retrieve data based on conditions and filters.
- Data Validation: Basic data validation checks are performed to ensure the integrity of the data being entered.
To run this DBMS, you need:
- Bash Shell: Make sure your system has the Bash shell installed. This DBMS is tested on Bash version 4.0 and above.
- Permissions: The script requires permissions to read, write, and execute files. Make sure to run it with appropriate permissions.
-
Clone this repository to your local machine:
git clone https://github.com/karim-mohamedd/DataBase_Engine.git
-
Navigate to the project directory:
cd DataBase_Engine -
Make the main script executable:
chmod +x DataBase_Engine
-
Run the script:
cd Software ./DataBase.sh
The project is organized as follows:
DataBase_Engine/
│
├── Software/ # Contains All the Scripts
├── DATA/ # Directory where databases and tables are stored
└── examples/ # Example usage and sample databases
- This DBMS is intended for learning and demonstration purposes and may not be suitable for production use.
- The script does not support complex queries or indexing.
- No encryption is provided for database files, so use it with caution for sensitive data.
- Add support for more complex queries and joins.
- Implement a user authentication mechanism for access control.
- Improve data validation and error handling mechanisms.
- Add support for logging operations for auditing purposes.
Contributions are welcome! If you have ideas for improvements or encounter any bugs, feel free to open an issue or submit a pull request.
For any questions, suggestions, or feedback, feel free to reach out:
- Email: karimelwaraky50@gmail.com
- LinkedIn: Karim Elwaraky
- GitHub: https://github.com/karim-mohamedd
I look forward to hearing from you!
