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