Custom Query Language for local databases employing chunk-based data processing approach assuming limited main memory to ensure scalability.
Project ISQL is an innovative approach to developing a custom query language for efficiently querying local file-based databases. Drawing inspiration from SQL, ISQL incorporates a modern syntax and introduces enhanced querying capabilities tailored for file-based databases stored locally. The system utilizes a relational data model where data is organized in tables, supporting various operations such as projection, filtering, join, grouping, aggregation, and ordering. Additionally, ISQL allows users to create databases and tables, and it supports CRUD operations on the data. One of the notable features of Project ISQL is its efficient handling of large datasets, employing a chunk-based data processing approach to ensure scalability.
To run the project, follow these instructions:
-
Install Dependencies:
- pandas
- OS
- tabulate (install with
pip3 install tabulate
) - JSON
- CSV
-
Caution: Make no changes in the directory structure, as it might affect the code.
-
Run: Execute the
main.py
file. After a successful run, the application will start, and you'll be greeted with "Welcome to ISQL."
-
Spacing: Space is mandatory between keywords, operators, and conditions, or else the code would fail.
-
String Handling: ISQL tolerates not using quotes for a single-word string. For strings that contain more than one word, quotes are mandatory.
-
Restarting Application: Each time you exit and re-run the application, use “goto ” to avoid halting the application.
Feel free to explore the power of Project ISQL, and if you encounter any issues, please check the documentation or reach out to me for assistance.
Happy querying! 🚀