Теория: базы данных и СУБД
База данных (БД) – это организованная совокупность структурированных данных, хранящихся в электронном виде и отражающих состояние некоторой предметной области.
СУБД = Программное обеспечение для управления БД
Система управления базами данных (СУБД) – комплекс программных средств, предназначенных для создания, ведения и использования баз данных.
🎯 Ключевые функции СУБД
Виды баз данных
| Тип БД | Структура | Пример использования |
|---|---|---|
| Реляционная | Таблицы (отношения) со строками и столбцами | Банковские системы, интернет-магазины |
| Иерархическая | Древовидная структура (родитель-потомок) | Файловые системы, структуры организаций |
| Сетевая | Графовая структура с произвольными связями | Сложные производственные системы |
| Объектно-ориентированная | Хранение объектов с методами и свойствами | CAD/CAM системы, мультимедиа |
| NoSQL | Документы, ключ-значение, графы, колонки | Социальные сети, большие данные |
Важно для ЕГЭ: В ЕГЭ по информатике в основном рассматриваются реляционные базы данных и язык SQL для работы с ними.
SELECT * FROM Студенты WHERE Год_рождения > 2005;Выбрать всех студентов, родившихся после 2005 года
Реляционная модель данных
Реляционная модель – модель данных, основанная на представлении данных в виде таблиц (отношений) и их связей. Разработана Эдгаром Коддом в 1970 году.
Кортеж (строка) = Запись в таблице
Атрибут (столбец) = Поле таблицы
Пример таблицы "Студенты"
Студенты Таблица
Ключи в реляционных базах данных
Первичный ключ (PK)
Уникально идентифицирует каждую запись в таблице. Не может быть NULL.
Внешний ключ (FK)
Ссылается на первичный ключ другой таблицы для связи таблиц.
Потенциальный ключ
Атрибут или набор атрибутов, который может быть первичным ключом.
Суперключ
Набор атрибутов, уникально идентифицирующий кортеж (может быть избыточным).
📝 Пример для ЕГЭ: В таблице "Студенты" первичным ключом может быть id или комбинация Фамилия+Имя+Группа (если в одной группе нет однофамильцев с одинаковыми именами).
Язык SQL: структурированные запросы
SQL (Structured Query Language) – язык структурированных запросов для работы с реляционными базами данных. Состоит из нескольких подъязыков:
DDL - Data Definition Language
Определение структуры данных:
CREATE– создание объектовALTER– изменение объектовDROP– удаление объектовTRUNCATE– очистка таблицы
CREATE TABLE Студенты (id INT PRIMARY KEY, Имя VARCHAR(50));
DML - Data Manipulation Language
Манипуляция данными:
SELECT– выборка данныхINSERT– вставка данныхUPDATE– обновление данныхDELETE– удаление данных
SELECT * FROM Студенты WHERE Группа = '11А';
📝 Интерактивный SQL-тренажёр
Попробуйте написать SQL-запрос на основе таблицы "Студенты".
Ваш SQL-запрос:
Таблица: Студенты(id, Фамилия, Имя, Группа, Средний_балл)
Задача: Выбрать фамилию и имя студентов из группы "11А" с средним баллом выше 4.5, отсортировать по фамилии.
Результат:
Результат появится здесь после выполнения запроса...
Оператор SELECT: полный синтаксис
SELECT [DISTINCT] столбцы
FROM таблицы
[WHERE условия]
[GROUP BY столбцы_группировки]
[HAVING условия_группировки]
[ORDER BY столбцы_сортировки [ASC|DESC]]
[LIMIT количество];
| Клауза | Назначение | Пример |
|---|---|---|
| SELECT | Выбор столбцов для вывода | SELECT Имя, Фамилия |
| FROM | Указание таблиц для запроса | FROM Студенты |
| WHERE | Фильтрация строк по условию | WHERE Группа = '11А' |
| ORDER BY | Сортировка результатов | ORDER BY Фамилия ASC |
| JOIN | Соединение таблиц | JOIN Группы ON ... |
Нормализация баз данных
Нормализация – процесс организации данных в базе данных для уменьшения избыточности и улучшения целостности данных. Основана на теории нормальных форм.
2. Устранение аномалий обновления, удаления, вставки
3. Упрощение структуры базы данных
4. Обеспечение логической целостности данных
Нормальные формы (НФ)
Первая НФ (1НФ)
Отсутствие повторяющихся групп, все значения атомарны
Вторая НФ (2НФ)
Находится в 1НФ + отсутствие частичных зависимостей
Третья НФ (3НФ)
Находится в 2НФ + отсутствие транзитивных зависимостей
НФ Бойса-Кодда
Усиленная 3НФ: каждый детерминант - потенциальный ключ
📊 Пример нормализации
Денормализованная таблица: Заказы(Номер_заказа, Дата, Клиент, Товар1, Цена1, Товар2, Цена2, ...)
После нормализации (3НФ):
- Заказы(Номер_заказа, Дата, ID_клиента)
- Клиенты(ID_клиента, Имя, Адрес)
- Позиции_заказа(ID_позиции, Номер_заказа, ID_товара, Количество)
- Товары(ID_товара, Название, Цена)
Проектирование баз данных
Проектирование БД – процесс создания модели базы данных, которая будет отвечать требованиям предметной области.
| Этап проектирования | Содержание | Результат |
|---|---|---|
| Концептуальное | Анализ предметной области, выявление сущностей и связей | ER-диаграмма (модель "сущность-связь") |
| Логическое | Преобразование концептуальной модели в реляционную схему | Набор таблиц со связями, нормализация |
| Физическое | Реализация БД в конкретной СУБД с учетом производительности | SQL-скрипты создания БД, индексы, настройки |
🎯 ER-диаграммы (модель "сущность-связь")
Графическое представление сущностей, их атрибутов и связей между ними:
- Прямоугольник – сущность (Студент, Преподаватель, Курс)
- Овал – атрибут (Имя, Фамилия, Оценка)
- Ромб – связь (учится, преподает, сдает)
- Линия – соединение элементов
Типы связей: 1:1 (один к одному), 1:N (один ко многим), M:N (многие ко многим).
💡 Совет для ЕГЭ: При решении задач на проектирование БД сначала определите сущности и их атрибуты, затем установите связи между сущностями и определите их тип (1:1, 1:N, M:N). Не забудьте про первичные и внешние ключи!
Интерактивные задания по БД
Закрепите теорию на практике. Решите задания, проверьте ответы и получите объяснения.
Определите первичный ключ
Условие: «Таблица "Книги" содержит поля: ISBN (уникальный номер), Название, Автор, Год_издания, Издательство, Цена. В библиотеке могут быть несколько экземпляров одной книги с разными инвентарными номерами.»
Какой атрибут является лучшим кандидатом на первичный ключ?
Составьте SQL-запрос
Условие: «Таблица "Сотрудники" имеет поля: ID, Фамилия, Имя, Отдел, Зарплата, Дата_приема. Необходимо выбрать фамилии и имена сотрудников отдела "ИТ", принятых после 1 января 2023 года, с зарплатой выше 100000, отсортировать по убыванию зарплаты.»
Какой SQL-запрос правильный?
Определите нормальную форму
Условие: «Таблица "Заказы_Товары" содержит поля: Номер_заказа, Дата_заказа, ID_клиента, Имя_клиента, Адрес_клиента, Код_товара, Название_товара, Цена_товара, Количество. Первичный ключ: (Номер_заказа, Код_товара).»
Какая нормальная форма нарушена в этой таблице?
Тест на определение уровня подготовки
Пройдите тест из 10 вопросов, чтобы оценить свой текущий уровень по теме «Базы данных» и получить персональные рекомендации.
Вопросы соответствуют формату ЕГЭ 2026 года по информатике.