This project is a prototype of a lightweight Database Management System (DBMS) implemented in Java. It provides a console-based interface for SQL query execution, features two-factor user authentication, and manages transactions with ACID properties. Data is stored persistently in a custom text format.
- SQL Query Support: Handles
CREATE
,SELECT
, andINSERT
SQL commands. - Two-Factor Authentication: Implements user authentication with ID, password, and a CAPTCHA.
- Transaction Management: ACID-compliant transactions supporting
BEGIN TRANSACTION
,COMMIT
, andROLLBACK
. - Persistent Storage: Stores data in a custom text format with user-defined delimiters.
- Java Development Kit (JDK) - any version is acceptable
- Standard Java libraries (no third-party libraries used)
-
Clone the Repository
git clone https://github.com/Keval-Gandevia/CustomSQLDatabase.git
-
Navigate to the Project Directory
cd CustomSQLDatabase
-
Compile the Code
javac -d bin src/*.java
-
Compile the Code
java -cp bin Main
-
Register
Users must register first with their email, password, and CAPTCHA. Registration data is saved in an authentication file (.txt). -
Login
Authenticate with your registered email, password, and CAPTCHA. -
Execute SQL Queries
Enter SQL commands to create tables, insert data, and select records. -
Manage Transactions
UseBEGIN TRANSACTION
,COMMIT
, andROLLBACK
commands to handle transactions.