https://github.com/kngsoomin/database-with-c
This project implements a custom database management system using a doubly linked list structure. It features SQL-like query parsing, supports basic database operations, and employs efficient index management.
https://github.com/kngsoomin/database-with-c
c data-structure database-management-system doubly-linked-list index-management string-parsing toy-project
Last synced: about 1 month ago
JSON representation
This project implements a custom database management system using a doubly linked list structure. It features SQL-like query parsing, supports basic database operations, and employs efficient index management.
- Host: GitHub
- URL: https://github.com/kngsoomin/database-with-c
- Owner: kngsoomin
- Created: 2024-06-22T05:31:26.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2025-11-07T20:35:00.000Z (7 months ago)
- Last Synced: 2025-11-07T22:21:26.952Z (7 months ago)
- Topics: c, data-structure, database-management-system, doubly-linked-list, index-management, string-parsing, toy-project
- Language: C
- Homepage:
- Size: 7.18 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Database Management System with C
### Overview
This project implements a lightweight database management system written in C.
It focuses on core database concepts such as **data structure design, indexing, and SQL-like query parsing**, providing a minimal yet educational implementation of a relational data engine.
### 🎥 Demo

### Key Features
**1. Structured and Modular Design**
- Separation between data (USERDATA) and linked list nodes (Node)
- Independent layers for data storage, index management, and UI interaction
- Improves modularity and maintainability of the codebase
**2. SQL-Like Query Engine**
- Supports simplified SQL syntax:
- `SELECT`, `WHERE`, `ORDER BY`, `INSERT`, `DELETE`
- Queries are parsed and executed against in-memory data
- Designed for intuitive command-line interaction
- *SELECT*:

- *WHERE*:

- *ORDER BY*:

- *INSERT*:

- *DELETE*:

**3. Doubly Linked List–Based Storage**
- Core database operations are executed on a doubly linked list
- Enables efficient traversal and manipulation of records
- Demonstrates understanding of dynamic memory management in C
**4. Indexing for Optimized Search**
- Index fields are maintained separately from main data structures
- Enables efficient range and key-based lookups without sorting the entire dataset
- Provides a simple index mechanism for faster query execution
**5. File and Memory Management**
- Database is loaded from file into memory at startup
- Users can modify in-memory data and selectively save changes back to disk
- Demonstrates separation between persistent and transient data layers