Skip to content

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.

Notifications You must be signed in to change notification settings

kngsoomin/database-with-c

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Project 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

About

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.

Topics

Resources

Stars

Watchers

Forks

Languages