Skip to content

Проект (предмет ООП2, 2 семестр СП МКН)

Notifications You must be signed in to change notification settings

vazgensoghoyan/Mini_SQL_engine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

70 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Задание 1: STAGE-1

Задание 2: STAGE-2

Задание 3: STAGE-3

Задание 4: STAGE-4

Задание 5: STAGE-5

DeepSeek дал следующее описание проекта и его название, исходя только из 5 .md файлов с заданием:

Название проекта

MiniSQL Engine - это минималистичная реализация SQL-движка на C# с использованием ASP.NET Core, поддерживающая базовые операции с таблицами и данными.

Общее описание

MiniSQL Engine представляет собой веб-сервис, который имитирует работу простой реляционной базы данных. Проект реализует подмножество SQL-команд для создания/удаления таблиц, работы с данными (CRUD операции), а также поддерживает более сложные операции типа JOIN и вложенных запросов.

Функциональность по этапам

STAGE-1: Подготовка окружения и базовый функционал

  • Настройка ASP.NET Core проекта
  • Реализация механизма завершения работы сервиса через токен
  • Создание глобального контекста приложения (шаблон Singleton)
  • Базовые endpoint'ы для управления жизненным циклом сервиса

STAGE-2: Работа с таблицами

  • Создание и удаление таблиц (CREATE TABLE, DROP TABLE)
  • Парсинг SQL-запросов для операций с таблицами
  • Endpoint'ы для:
    • Получения списка таблиц (GET /api/v1/tables/list)
    • Получения схемы таблицы (POST /api/v1/tables/schema)
    • Выполнения SQL-запросов (POST /api/v1/query)

STAGE-3: Операции с данными

  • Добавление данных (INSERT)
  • Чтение данных (SELECT с поддержкой WHERE, ORDER BY, LIMIT)
  • Обновление данных (UPDATE)
  • Удаление данных (DELETE)
  • Поддержка RETURNING для всех операций изменения данных

STAGE-4: Отладка парсера

  • Доработка парсера SQL-запросов
  • Добавление обработки различных граничных случаев
  • Улучшение обработки ошибок

STAGE-5: Расширенные возможности

  • Поддержка оператора AS для переименования полей
  • Реализация вложенных запросов (подзапросов)
  • Поддержка JOIN операций:
    • INNER JOIN (стандартный JOIN)
    • LEFT JOIN
    • RIGHT JOIN

Технические особенности

  • Язык: C# 10
  • Платформа: .NET 6.0
  • Архитектура: Веб-сервис на ASP.NET Core
  • Сериализация: JSON
  • Документация API: Swagger UI
  • Обработка SQL: Кастомный парсер и интерпретатор

Структура данных

  • Поддерживаемые типы: BOOLEAN, INTEGER, FLOAT, STRING, SERIAL
  • Схема таблиц с информацией о колонках (тип, PRIMARY KEY, NULLABLE, DEFAULT)
  • Механизм автоматического инкремента для SERIAL полей

Особенности реализации

  • Все значения в ответах API возвращаются в строковом виде
  • Четкое разделение парсинга SQL и выполнения команд
  • Поддержка разных режимов работы (Development/Production)
  • Защита от небезопасных операций в Production

Проект MiniSQL Engine представляет собой отличную учебную платформу для понимания принципов работы реляционных баз данных и реализации собственного SQL-движка.

About

Проект (предмет ООП2, 2 семестр СП МКН)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages