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