Добрый вечер, всем! В ходе серии нескольких кратких статьи, мы ознакомимся, поймем и выполним проект my-sqlite.
Данный материал несет ознакомительную часть, где мы рассмотрим:
- Общую картину проекта
- Ключевые темы, основные термины
- Пользу проекта MySQLite
Проект МySQLite — интересный иочень полезный проект в плане работы с БД. В данном проекте нам предстоит написать свою sqlite-подобную программу для csv файлов.
CSV это файл в текстовом формате, предназначенный для представления табличных данных.
A SQLite — это встроенная библиотека, которая реализует безсерверный механизм СУБД SQL. Безсерверный означает что sqlite запускается в вашей программе и не требует отдельного сервера как в PostgreSQL.
СУБД — комплекс программ, позволяющих создать базу данных (БД) и манипулировать данными.
SQL — декларативный язык программирования, применяемый для создания, модификации и управления данными в реляционной базе данных.
И в конечном итоге наша цель – создать СУБД с поддержкой языка SQL, где нашей базой данных будет CSV файлы, которую мы можем создавать, редактировать, удалять.
Вот так CSV file выглядит в VS code.

Написанная нами программа ожидается быть мощной, модульной и выполняющей все основные функции и комманды языка SQL(как SQLite например).
Наш конечный продукт — консольная программа на подобие этого, но только для csv файла (Смотрите ниже картинку).

Ура! Мы поняли суть проекта. Но прежде чем рассматривать саму реализацию, давайте ответим на эти 2 вопроса.
- Какую пользу принесет нам данный проект?
- Чему мы научимся ?
Во-первых, это конечно же понимание принципа работы SQL на начальном уровне. Реализуя сами команды этого языка, мы поймем как все это обустроено внутри. Во-вторых, т.к будем работать с классами, обьектами попрактикуем свои навыки в ООП мышления. Кратко говоря, ООП (Объектно-ориентированное программирование) – это парадигма, то есть стиль проектирования программы, где программа описывается в виде совокупности обьектов и классов. А каждый обьект представляет собой модель определенной, реальной вещи или же обьекта.
Касательно ко второму вопросы, мы научимся вещам:
- Моделирование класса
- Работать/Редактировать CSV файлы
- Проверка и валидация данных
- Import/Export файлов
- Написания малых и модульных функции
*В след. материалах рассмотрим логику и структуру нашего проекта.
Удачи !
good job 👍