Базы данных входят в школьную программу по информатике — но часто преподаются формально: ERD-диаграмма, нормализация и пара запросов в Access. Это не то, что помогает детям разобраться в теме. Вот как выстроить раздел так, чтобы он был понятным и применимым.
Где SQL в программе
По ФГОС базы данных входят в курс информатики 10–11 класса. Многие школы начинают раньше — в 8–9 классе, в разделе «Информационные системы».
Типичная проблема: учебники описывают теорию реляционных баз данных, не давая практики. Ученики знают слово «PRIMARY KEY», но не могут написать простой SELECT.
Рекомендуемая последовательность тем
Блок 1: Что такое база данных (2–3 урока)
Начните с примеров из жизни:
- Контакты в телефоне — база данных
- Расписание уроков — база данных
- Заказы в интернет-магазине — база данных
Дайте детям попробовать ответить на вопрос вручную: «У нас список из 100 учеников. Найдите всех, кто сдал ЕГЭ по информатике выше 80 баллов». Когда они почувствуют неудобство ручного поиска — мотивация к SQL появится сама.
Блок 2: Таблицы и запросы SELECT (3–4 урока)
Начните с одной таблицы. Не с нескольких, не с JOIN — с одной.
Темы:
- SELECT, FROM
- WHERE с условиями (
=,>,<,AND,OR) - ORDER BY, LIMIT
- Агрегатные функции: COUNT, SUM, AVG, MAX, MIN
Практика: задачи с реальными данными. Хорошо работают датасеты, знакомые детям: игры, фильмы, учебные результаты.
Блок 3: Группировка (2 урока)
SELECT grade, AVG(score) as avg_score
FROM students
GROUP BY grade;
GROUP BY — один из самых полезных операторов, и он хорошо понятен: «посчитай что-то по группам».
HAVING — следующий шаг:
SELECT grade, AVG(score) as avg_score
FROM students
GROUP BY grade
HAVING AVG(score) > 70;
Блок 4: Несколько таблиц и JOIN (3–4 урока)
Это сложный блок — не торопитесь. Начните с визуального объяснения:
- У нас две таблицы:
studentsиclasses - В
studentsесть столбецclass_id— ссылка наclasses - JOIN «склеивает» их по этому ключу
SELECT students.name, classes.teacher
FROM students
JOIN classes ON students.class_id = classes.id;
Лайфхак: нарисуйте таблицы на доске, стрелками покажите связь, потом переведите это в SQL.
Блок 5: Проектирование (1–2 урока)
После практики с запросами — проектирование. Дайте задачу:
«Придумайте базу данных для школьной библиотеки. Какие таблицы нужны? Какие связи между ними?»
ER-диаграмма воспринимается гораздо лучше, когда дети уже писали запросы и понимают, зачем нужны связи.
Практические советы
Используйте один и тот же датасет весь блок. Когда дети хорошо знают данные, они могут проверить результат запроса «на глаз» и быстрее находят ошибки.
Не объясняйте нормализацию до практики. Сначала — запросы, потом — зачем структура именно такая.
Домашние задания с открытыми данными. Попросите учеников найти реальный CSV-датасет (kaggle, data.gov.ru) и написать к нему 5 запросов. Это гораздо интереснее, чем упражнения из учебника.
Инструменты для урока
| Инструмент | Плюсы | Минусы |
|---|---|---|
| SQL Lab | Никакой установки, мониторинг прогресса | Нужен интернет |
| SQLite Online | Работает офлайн | Нет мониторинга для учителя |
| DBeaver + PostgreSQL | Полноценная среда | Установка занимает урок |
| MS Access | Есть в школах | Устаревший интерфейс, нестандартный SQL |
Для большинства школьных задач SQL Lab подходит лучше всего: ученики входят по коду класса за 10 секунд, учитель видит прогресс каждого в реальном времени.
Связь с другими темами информатики
Алгоритмы: ORDER BY — это сортировка. WHERE — это фильтрация. Покажите связь с алгоритмами поиска и сортировки.
Язык программирования: SQL похож на псевдокод. «Выбери из таблицы студентов, где оценка больше 80, отсортируй по имени» — почти буквально переводится в SELECT.
Excel: GROUP BY + AVG — это сводные таблицы. Дети, знающие Excel, сразу понимают концепцию.
Базы данных — не изолированная тема. Они связывают программирование, алгоритмы и работу с данными. Это делает раздел особенно ценным в программе информатики.