База данных нужна там, где информацию надо сохранить между запусками программы и быстро найти нужное. В курсе Python эта тема появляется на ступени Python Pro для 14–18 лет: SQLite, язык SQL и подключение через sqlite3 и SQLAlchemy.

Почему файлов уже не хватает

Работу с файлами ребёнок проходит раньше, на средней ступени: чтение, запись, обработка ошибок. Для небольших задач этого достаточно.

Проблемы начинаются, когда записей становится много. Найти одного пользователя среди тысячи строк в текстовом файле можно только перебором. Обновить его данные, не испортив соседние, — отдельная морока. А если программа упадёт посреди записи, файл останется полусломанным.

База данных решает ровно эти три вещи: поиск, изменение и целостность. Поэтому она появляется в программе не в начале, а тогда, когда подросток уже упёрся в предел файлов.

Четыре команды, на которых держится всё

В теме разбирают базовый набор SQL: SELECT — найти, INSERT — добавить, UPDATE — изменить, DELETE — удалить.

Ценность здесь не в количестве команд, а в самом способе мышления. В SQL не описывают, как искать, — описывают, что нужно найти. Для подростка, который два года писал циклы и условия, это заметно другой подход, и он хорошо тренирует способность формулировать задачу.

Почему именно SQLite: вся база лежит в одном файле, ничего не надо устанавливать и настраивать. Поэтому она удобна для обучения — и поэтому же её используют в настоящих приложениях, от браузеров до мобильных программ.

Где это сразу применяется

Следующая тема программы — Telegram-бот с базой данных: aiogram плюс SQLite, регистрация пользователей, профили, админ-панель, диалоги на машине состояний.

Разница с ботом из предыдущей ступени принципиальная. Тот бот отвечал на сообщения и забывал всё после перезапуска. Этот — помнит пользователя, его настройки и историю. Это уже приложение.

Дальше база нужна в веб-API на Flask, а затем в финальном проекте ступени — полноценном AI-продукте с деплоем.

Не сложен ли SQL после Python?

Базовый набор усваивается быстрее, чем кажется: четыре команды с простым синтаксисом. Сложность начинается в оптимизации больших запросов, а до этого на курсе не доходит.

Зачем SQLAlchemy, если есть sqlite3?

sqlite3 — прямой путь: пишем SQL руками. SQLAlchemy позволяет работать с таблицами как с обычными объектами Python. В программе показывают оба, потому что в реальных проектах встречаются тоже оба.

Понадобится ли это, если подросток пойдёт не в разработку?

SQL — один из немногих навыков, выходящих далеко за пределы программирования. Аналитики, маркетологи и финансисты пишут запросы к базам регулярно, не будучи разработчиками.

Место темы в программе

Python Pro рассчитан на 14–18 лет, 18 месяцев и 156 занятий. Базы данных стоят в середине: после ООП и парсинга, перед Flask и машинным обучением. Такой порядок не случаен — к этому моменту уже есть что хранить и зачем.

Что из этих тем идёт в портфолио, разобрано отдельно: портфолио до 18 лет. Полная программа ступени — на странице курса Python Pro.