Core Features
Table Management
- Create and delete tables dynamically
- Define custom table structures
Record Operations
- Insert new records
- Retrieve stored data
- Update existing records
- Delete records selectively
Data Persistence
- Stores data using JSON files
- Maintains state between program runs
Command Interface
- CLI-based interaction
- Supports commands like create, insert, select, update, delete
System Architecture
The engine follows a modular structure where each component handles a specific responsibility, ensuring clarity and maintainability.
Table Manager → handles table creation & deletion
Record Manager → manages CRUD operations
Storage Engine → persists data in JSON files
Command Parser → interprets user CLI commands
System Rules & Constraints
- Tables must be defined before inserting records
- Data structure must match defined columns
- Invalid commands are safely rejected
- All operations immediately reflect in storage
Example Terminal Output
Sample interaction with the database engine:
DB> create_table students
Enter columns: name,age,city
Table 'students' created successfully.
DB> insert students
Enter name: alex
Enter age: 21
Enter city: Houston
Record inserted successfully.
DB> select students
ID | NAME | AGE | CITY
1 | alex | 21 | Houston
Technologies Used
- Language: Python
- Storage: JSON files
- Interface: Command Line (CLI)
- Design: Object-Oriented Programming
Project Links
Why This Project?
This project demonstrates the core principles behind database systems, including structured data storage, CRUD operations, and command parsing.