Зачем это в ЕГЭ. Задание 3 в ЕГЭ по информатике проверяет умение работать с реляционными базами данных. Даёт 1 первичный балл. Встречается в 90% вариантов ФИПИ, обычно в виде задач на анализ схемы БД или построение SQL-запроса.
Главная идея. Реляционная БД — это набор таблиц, связанных между собой. Ключевое — понимать типы связей (один-к-одному, один-ко-многим) и уметь нормализовать данные. Главный инструмент — SQL-запросы для выборки и обработки данных.
Алгоритм (чеклист).
1. Определить сущности и их атрибуты.
2. Выявить первичные и внешние ключи.
3. Построить схему связей между таблицами.
4. Проверить нормальную форму (хотя бы 3НФ).
5. Составить SQL-запрос, если требуется.
6. Убедиться, что запрос возвращает корректные данные (проверка).
Опоры (кратко).
- Первичный ключ (PRIMARY KEY) — уникальный идентификатор записи.
- Внешний ключ (FOREIGN KEY) — ссылка на первичный ключ другой таблицы.
- Нормальные формы: 1НФ (нет повторяющихся групп), 2НФ (нет частичных зависимостей), 3НФ (нет транзитивных зависимостей).
- Базовые SQL-операторы: SELECT, JOIN, WHERE, GROUP BY.
Пример 1 (анализ схемы БД).
Шаг 1. Даны таблицы: Students(id, name), Courses(id, title), Grades(student_id, course_id, grade).
Шаг 2. Определяем связи: Grades.student_id → Students.id, Grades.course_id → Courses.id.
Шаг 3. Проверяем нормальную форму: все атрибуты зависят от ключа, 3НФ соблюдена.
Шаг 4. Анализируем запрос: SELECT name FROM Students JOIN Grades ON Students.id = Grades.student_id WHERE grade = 5.
Шаг 5. Вывод: запрос возвращает имена студентов с оценкой 5.
Пример 2 (построение SQL-запроса).
Шаг 1. Даны таблицы: Books(id, title, author_id), Authors(id, name).
Шаг 2. Требуется найти книги автора "Пушкин".
Шаг 3. Пишем запрос:
sqlSELECT Books.title
FROM Books
JOIN Authors ON Books.author_id = Authors.id
WHERE Authors.name = 'Пушкин';
*Шаг 4.* Проверяем: запрос корректно вернёт все книги Пушкина.
**Типичные ошибки.**
1. **Путаница в типах связей** — например, интерпретация связи один-ко-многим как многие-ко-многим.
2. **Неправильное указание ключей** — забывают про FOREIGN KEY или дублируют PRIMARY KEY.
3. **Ошибки в SQL-запросах** — неправильное использование JOIN или WHERE.
4. **Нарушение нормальных форм** — например, хранение вычисляемых полей в таблице.
5. **Игнорирование проверки** — не тестируют запрос на простых данных.
**Дальше.** Изучите сложные SQL-запросы с агрегатными функциями и подзапросами.