База данных нужна там, где информацию надо сохранить между запусками программы и быстро найти нужное. В курсе 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.