Skip to content

omar-a-eid/bashDB

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

bashDB Documentation

Table of Contents

  1. Introduction
  2. Project Overview
  3. Getting Started
  4. Project Structure
  5. Features
  6. SQL Query Support
    1. Update Query (Coming Soon)
  7. Usage Rules
    1. Query Syntax Standard
  8. Future Features
    1. DELETE Command (Future Enhancement)
    2. Enhanced SELECT Command (Future Update)
  9. Conclusion

1. Introduction

Welcome to the Bash Database Management System (DBMS) with Zenity documentation. This project offers a simple yet powerful solution for managing databases using a Bash script with the added convenience of Zenity for creating graphical user interfaces. Users can interact with the system through GUI dialogs or by executing SQL commands directly.

2. Project Overview

The BashDB project is designed to facilitate basic database management tasks using a Bash script. It leverages Zenity to create user-friendly dialogs, enabling users to add, view, and edit data within a straightforward database structure. The flexibility of the system allows users to choose between GUI interaction and direct SQL commands.

3. Getting Started

To get started with the Bash DBMS project, follow these steps:

# Clone the repository
git clone https://github.com/omar-a-eid/bashDB.git

# Navigate to the project directory
cd bashDB

# Run the main script
./main.sh

4. Project Structure

The project has the following structure:

  • main.sh: The main script that serves as the entry point for the DBMS.
  • table_functions: Additional functions and logic related to database operations.
  • database_functions: Functions that are related to the main menu and the main operation of creating and connecting to the database, etc.
  • database: The main directory that will contain the databases.
  • sql_functions: Function to handle sql queries.

5. Features

  • Execute SQL commands directly through the interface.
  • Add new records to the database.
  • View all records in the database.
  • Edit existing records in the database.
  • User-friendly dialogs created with Zenity.

6. SQL Query Support

As of the latest update, BashDB supports SQL queries, allowing users to interact directly with the database using SQL commands through the command line interface.

6.1 Update Query (Future update)

An upcoming release will introduce support for SQL UPDATE queries, enabling users to modify existing records in the database using SQL commands.

7. Usage Rules

7.1 Query Syntax Standard

When writing SQL queries within the BashDB system, ensure to leave spaces between brackets and values for proper parsing and execution:

insert into table_name ( col_name, col_name ) values ( value1, value2 );

8. Future Features

The BashDB project is continually evolving with planned enhancements, including:

8.1 DELETE Command (Future Enhancement)

Upcoming updates will introduce an enhanced DELETE command capability. Currently, the system accepts only the = operator for equality in DELETE queries. However, in future releases, support for additional operators will be incorporated. This enhancement will allow users to execute advanced queries for selective record deletion based on specific criteria or conditions.

8.2 Enhanced SELECT Command (Future Update)

Future iterations will include the implementation of a WHERE clause for the SELECT command. This improvement enables users to retrieve specific data by applying conditions or filters within the query.

9. Conclusion

BashDB combines the simplicity of Bash scripting with the power of SQL queries, offering users an intuitive and versatile solution for managing databases. Whether you prefer the ease of graphical user interfaces or the precision of SQL commands, BashDB provides a flexible environment for your database management needs. Explore the features, provide feedback, and stay tuned for exciting updates as the project continues to evolve. Feel free to contribute to the project's development.

If you would like to see a demo of BashDB in action, you can watch it here. Thank you for choosing BashDB for your database management tasks!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages