📚 Информатика 11 класс

Системы управления базами данных

Привет! Представь: Netflix знает, что ты досмотришь сериал до конца, больница хранит миллионы медицинских карт, а интернет-магазин обрабатывает тысячи заказов одновременно. Как всё это работает? Ответ — базы данных и СУБД. Давай разберёмся, как приручить океан информации!

От хаоса к порядку: СУБД как архитектор информационного пространства

Зачем вообще всё это?

Представь: у тебя есть коллекция из 10 000 треков, 500 фильмов, переписки с сотнями людей и куча фотографий. Как найти нужное за секунды? Или вот реальная задача: онлайн-магазин с миллионами товаров, где тысячи людей одновременно покупают, а склад обновляется в реальном времени. Как не запутаться?

💡 Ответ простой

Базы данных (БД) и Системы управления базами данных (СУБД) — это не просто "таблички в компьютере". Это архитектура, которая делает возможным существование современного цифрового мира.

Часть 1. Этапы разработки БД — от идеи до работающей системы

Создание базы данных — это как постройка здания. Нельзя просто взять и начать кидать кирпичи. Нужен план, чертежи, понимание, кто и как будет жить в этом доме.

Проектирование БД: создание архитектуры до первой строки кода

Проектирование БД: создание архитектуры до первой строки кода

Этап 1

🎯 Постановка задачи

Прежде чем писать хоть строчку кода, нужно ответить на простые, но критически важные вопросы:

  • Зачем нам эта БД? (Учёт товаров? Управление проектами? Анализ статистики игроков?)
  • Кто будет ею пользоваться? (Менеджеры? Геймеры? Врачи?)
  • Что мы будем делать с данными? (Искать, изменять, строить отчёты, анализировать?)

Пример из жизни: Twitch создаёт БД для стримеров. Им нужно хранить: кто стримит, сколько зрителей, какие донаты, статистику по играм, расписание. При этом один пользователь (зритель) видит одно, а стример — совсем другое.

Ключевой момент: На этом этапе работают не только программисты, но и эксперты из той сферы, для которой создаётся БД. Врачи знают про медкарты больше любого айтишника. Геймдизайнеры понимают игровую механику лучше баз данных.

Этап 2

📐 Проектирование БД

Теперь нужно определить структуру. Это как решить, сколько комнат будет в доме и как они связаны.

Что мы делаем:

  1. Определяем сущности (информационные объекты). Для БД интернет-магазина: Товары, Покупатели, Заказы, Склады
  2. Описываем атрибуты каждой сущности:
    • Товар: название, цена, категория, количество на складе, фото
    • Покупатель: имя, email, адрес доставки, история покупок
  3. Создаём структуру реляционных таблиц:
    • Составляем общий список полей
    • Распределяем поля по таблицам
    • Определяем свойства каждого поля
    • Выделяем ключевые поля
    • Устанавливаем связи между таблицами

Метафора: Это как проектирование города. Есть районы (таблицы), в каждом — дома (записи), у каждого дома — адрес (ключевое поле). Дороги между районами — это связи.

Этап 3

⚙️ Создание БД

Два пути реализации:

1. Написать всё с нуля на языке программирования (SQL, Python + ORM)

  • Для уникальных, масштабных проектов
  • Требует профи-программистов

2. Использовать готовую СУБД (Microsoft Access, MySQL, PostgreSQL)

  • Как конструктор с готовыми инструментами
  • Подходит для большинства задач

Что происходит при создании:

  1. Запускаем СУБД и создаём новый файл БД
  2. Создаём таблицы и устанавливаем связи
  3. Тестируем — вводим тестовые данные и проверяем работу
  4. Разрабатываем элементы управления:
    • Формы для удобного ввода данных
    • Запросы для поиска и отбора
    • Отчёты для красивого вывода информации
    • Защиту: разграничение прав доступа
  5. Заполняем таблицы реальными данными
Этап 4

🚀 Эксплуатация БД

БД создана. Что дальше?

  • Сортировка и фильтрация записей (найти всех покупателей из Москвы)
  • Поиск по критериям (товары дешевле 1000 рублей)
  • Обработка данных: добавление, изменение, удаление
  • Подготовка отчётов (топ-10 самых популярных товаров за месяц)

Живой пример: Spotify постоянно обновляет свою БД. Каждый раз, когда ты ставишь лайк треку, система обновляет твой профиль, учитывает это в рекомендациях, обновляет статистику исполнителя. И всё это — в реальном времени, для миллионов пользователей одновременно.

🏗️ Уровни представления данных

Для больших БД выделяют три уровня:

Три уровня представления: одна БД, разные миры для каждого пользователя

Три уровня представления: одна БД, разные миры для каждого пользователя

1. Концептуальный

Модель «сущность-связь», общая схема

2. Внешний

Что видит конкретный пользователь

3. Внутренний

Как данные реально хранятся на диске

Пример: Электронный журнал в школе. Ученик видит свои оценки и расписание. Учитель — оценки класса и может их менять. Директор — статистику по всей школе. Физически — это одна БД, но три разных "представления".

Часть 2. СУБД и их классификация — зоопарк технологий

СУБД — это программное обеспечение для создания, хранения и работы с БД. Именно СУБД превращает гору файлов в мощную информационную систему.

Классификация СУБД: выбери свой инструмент под задачу

Классификация СУБД: выбери свой инструмент под задачу

📊 Классификация 1: По модели данных

Иерархические БД

Данные организованы в виде дерева. Как файловая система на компьютере: есть корень, ветви, листья. Устаревший тип, но всё ещё используется в некоторых банковских системах.

Сетевые БД

Более гибкие, позволяют связывать данные не только вертикально, но и горизонтально. Как социальная сеть: каждый пользователь может быть связан с множеством других.

Реляционные БД ⭐

Самый популярный тип. Данные хранятся в таблицах, связанных через ключи. Примеры: MySQL, PostgreSQL, Microsoft Access. Почему популярны? Просты, понятны, мощны.

Другие типы

NoSQL (для больших данных, как MongoDB), объектно-ориентированные, документо-ориентированные.

🌐 Классификация 2: По размещению

Локальные СУБД

Всё на одном компьютере. Ты создал БД на своём ПК — только ты с ней работаешь.

Распределённые СУБД

Данные хранятся на разных серверах по всему миру. Пример: Google, Amazon. Их БД разбросаны по дата-центрам на всех континентах.

🔌 Классификация 3: По способу доступа

1. Файл-серверные СУБД

Примеры: Microsoft Access, dBase

  • Файлы с данными лежат на сервере
  • На каждом компьютере установлена полная версия СУБД
  • Доступ через локальную сеть

❌ Минусы: Сеть сильно нагружается, нужны мощные компьютеры у каждого пользователя. Для крупных систем не подходит.

2. Клиент-серверные СУБД ⭐

Примеры: Oracle, MySQL, PostgreSQL

  • Сервер — мощный компьютер с серверной версией СУБД и всеми данными
  • Клиенты — лёгкие программы, которые отправляют запросы и получают ответы
  • Вся тяжёлая работа идёт на сервере

✅ Плюсы: Надёжность, безопасность, быстрота. Именно так работают банки, соцсети, интернет-магазины.

3. Встраиваемые СУБД

Часть других программ (поисковики, игры, электронные энциклопедии)

Пример: SQLite в мобильных приложениях

Часть 3. Работа в программной среде СУБД — создаём структуру

Теперь переходим к практике. Допустим, мы работаем в Microsoft Access или OpenOffice Base.

📋 Структура таблицы: свойства полей

Каждое поле имеет свойства:

Свойство Зачем нужно Пример
Имя поля Уникальное имя для обращения Название_товара
Тип поля Какие данные можем хранить Текст, число, дата
Размер поля Максимальная длина данных До 255 символов
Формат поля Как отображать данные Дата в формате ДД.ММ.ГГГГ
Подпись Название столбца (для удобства) "Название товара"
Значение по умолчанию Автозаполнение Текущая дата
Условие на значение Ограничение для проверки Цена > 0

🔢 Типы данных в Microsoft Access

Тип Для чего используется Пример
Текстовый Текст до 255 символов Имя, адрес, код товара
Поле МЕМО Длинный текст (>255 символов) Описание, комментарий
Числовой Числа для вычислений Количество, возраст
Дата/время Даты и время 28.12.2025, 14:30:00
Денежный Деньги для расчётов 1500.50 руб
Счётчик Автоматический уникальный номер ID записи
Логический Да/Нет, Истина/Ложь Наличие скидки
Поле объекта OLE Изображения, документы Фото товара
Гиперссылка Ссылки на файлы или сайты URL страницы

Зачем так много типов? Каждый тип занимает разный объём памяти. Чем точнее тип — тем быстрее работает БД. Не надо хранить число "5" как текст "пять" — это неэффективно.

🔗 Устанавливаем связи между таблицами

Связи между таблицами: целостность данных как фундамент надёжности

Связи между таблицами: целостность данных как фундамент надёжности

После создания таблиц нужно связать их через ключевые поля. Это обеспечивает целостность данных — одно из самых важных свойств БД.

Что такое целостность?

Это гарантия, что данные непротиворечивы. Например:

  • Нельзя удалить покупателя, если у него есть активные заказы
  • Нельзя добавить заказ для несуществующего товара

Режимы работы со связями:

Каскадная замена: изменили название фирмы в главной таблице — автоматически обновилось везде, где она упоминается

Каскадное удаление: удалили клиента — удалились все его заказы

Метафора: Представь, что у тебя в Discord есть сервер и каналы. Если ты удалишь сервер, все каналы тоже исчезнут — это каскадное удаление.

Часть 4. Формы — человеческое лицо базы данных

Работать напрямую с таблицами неудобно: текст в одну строку, легко ошибиться, нет визуальной структуры.

Формы как мост между пользователем и сложностью БД

Формы как мост между пользователем и сложностью БД

📝 Что такое формы?

Формы — это графический интерфейс для ввода, просмотра и редактирования данных.

Что могут формы:

  • Показывать данные из нескольких таблиц одновременно
  • Добавлять кнопки, выпадающие списки, календари
  • Включать картинки, диаграммы
  • Делать вычисления на лету (например, автоматически считать итоговую сумму заказа)

📊 Типы форм

  • Простая — данные из одной таблицы
  • Составная — данные из нескольких связанных таблиц (главная + детали)

🛠️ Инструменты создания в Access

  • Автоформа — быстрое создание стандартной формы
  • Мастер форм — пошаговый диалог, выбираешь нужные поля
  • Конструктор форм — полная свобода дизайна

🎮 Пример

Форма для регистрации на турнир по киберспорту:

  • Поля: имя, ник, email, игра, ранг
  • Кнопка "Зарегистрироваться"
  • Красиво, понятно, быстро!

Часть 5. Манипулирование данными — сортировка, фильтры, запросы

Манипулирование данными — это все действия, которые мы делаем с информацией в БД.

Запросы как интеллектуальный поиск: находим именно то, что нужно

Запросы как интеллектуальный поиск: находим именно то, что нужно

Инструмент 1

📊 Сортировка данных

Самое простое: упорядочить записи по возрастанию или убыванию.

Как это работает в Access:

  1. Открываешь таблицу
  2. Кликаешь на поле, по которому хочешь сортировать
  3. Жмёшь "По возрастанию" или "По убыванию"

Сортировка по нескольким полям: Сначала сортируется по первому полю, потом (для одинаковых значений) — по второму.

Пример: Таблица с фильмами. Сортируем сначала по жанру (Экшен, Драма, Комедия), потом по рейтингу (от большего к меньшему). Получаем список: топ экшенов, топ драм, топ комедий.

Инструмент 2

🔍 Фильтрация данных

Фильтр — это условие, которое "пропускает" нужные записи и "скрывает" ненужные.

Метафора: Ты в музыкальном приложении включаешь фильтр "только рок" — плейлист сокращается, остаются только рок-треки. Остальные не удалены, просто временно скрыты.

Примеры фильтров:

  • Показать только товары дороже 5000 рублей
  • Показать только учеников 11 класса
  • Показать только заказы за последний месяц
Инструмент 3

⚡ Запросы — самый мощный инструмент

Запрос — это не просто фильтр. Это мини-программа, которая:

  • Ищет данные по сложным условиям
  • Объединяет данные из разных таблиц
  • Делает вычисления (суммы, средние, максимумы)
  • Создаёт новые таблицы на основе старых
  • Изменяет или удаляет данные массово

Структура запроса:

  1. Поля для вывода (что показать)
  2. Условия отбора (логическое выражение: что искать)
  3. Сортировка (как упорядочить результат)

💡 Пример запроса к БД "Крупнейшие озёра"

Задача: Найти озёра площадью больше 30 тыс. км² ИЛИ глубиной больше 300 м, НО не в Африке. Отсортировать по названию.

Условие:

((Площадь > 30) ИЛИ (Глубина > 300)) И (Материк <> "Африка")

Результат:

Название Материк
Байкал Евразия
Гурон Северная Америка
Женевское Евразия
Мёртвое море Евразия

📊 Практический пример: БД "Страны"

Дана таблица с данными по странам (население, площадь, материк, процент от населения Земли).

Задание 1

Найти страны, где процент населения от 2% до 5%

(Процент > 2) И (Процент < 5)

Ответ: 6 записей (Бангладеш, Бразилия, Индонезия, Пакистан, США, Нигерия)

Задание 2

Страны Северной или Южной Америки

(Материк = "С. Америка") ИЛИ (Материк = "Ю. Америка")

Ответ: 3 записи (Бразилия, Мексика, США)

Задание 3

Страны с населением >80 млн (по данным после 01.01.2012) ИЛИ площадью <500 тыс. км²

((Население > 80000000) И (Дата > 01.01.2012)) ИЛИ (Площадь < 500000)

Ответ: 10 записей

Часть 6. Отчёты — красота на бумаге

Отчёт — это готовый к печати документ. Красиво оформленный, с итогами, графиками, группировками.

Отчёты: превращаем сырые данные в профессиональные документы

Отчёты: превращаем сырые данные в профессиональные документы

📄 Где используются отчёты

  • Счета в интернет-магазинах
  • Сертификаты участников олимпиад
  • Медицинские выписки
  • Финансовые отчёты компаний
  • Графики посещаемости спортзала
  • Академические справки

✨ Что может отчёт

  • Данные из нескольких таблиц и запросов
  • Группировка и сортировка (например, заказы по клиентам)
  • Итоговые вычисления (сумма, среднее, максимум)
  • Диаграммы и графики
  • Логотипы, подписи, штрихкоды

🆚 Отчёт vs Форма

Форма

Для работы с данными (ввод, редактирование)

Отчёт

Для просмотра и печати (только чтение)

📌 Ключевые выводы

Давайте подведём итоги нашего погружения в мир СУБД:

Разработка БД — это процесс, а не момент. От идеи до работающей системы проходит несколько этапов, и каждый важен. Пропустишь проектирование — получишь хаос.
СУБД — это не просто программа, это экосистема. Выбор СУБД зависит от задачи: для личного проекта подойдёт Access, для банка нужен Oracle. Нет "лучшей" СУБД — есть подходящая под задачу.
Целостность данных — святое. Связи между таблицами, каскадные обновления и удаления, ограничения на ввод — всё это защищает БД от противоречий. Без целостности БД превращается в свалку.
Манипулирование данными — это искусство. Запросы позволяют задавать сложные вопросы к данным и получать точные ответы. Это как Google для твоей личной БД, только мощнее.

🤔 Проверь себя

Проверьте, как хорошо вы усвоили материал!

1. Кейс: БД школьной библиотеки

Ты создаёшь БД для школьной библиотеки. Какие сущности выделишь? Какие связи между ними установишь?

Подсказка: Подумай о книгах, читателях, выдаче... Как обеспечить, чтобы нельзя было выдать одну книгу двум людям одновременно?

2. Сравни: файл-серверная vs клиент-серверная СУБД

Чем файл-серверная СУБД отличается от клиент-серверной? Почему крупные компании выбирают второй вариант?

Подумай: Что происходит с нагрузкой на сеть? Где обрабатываются данные?

3. Подумай: уровни доступа в электронном журнале

В электронном журнале ученик видит только свои оценки, а учитель — оценки всего класса. Это реализовано через разные таблицы или через разные права доступа? Обоснуй.

4. Практика: составь сложный запрос

Придумай запрос к БД интернет-магазина:

Задача: "Найти товары категории 'Электроника', дороже 10 000 руб, со скидкой, добавленные за последний месяц".

Запиши условие отбора используя логические операторы.

5. Аналогия: объясни понятие "форма"

Объясни младшему брату (или подруге, не знакомой с БД), что такое "форма" в БД, используя аналогию с чем-то из повседневной жизни.

Подсказка: Подумай о анкетах, регистрационных формах в интернете...

6. Исследование: встраиваемые СУБД в мобильных приложениях

Найди, какие встраиваемые СУБД используются в мобильных приложениях, которыми ты пользуешься (например, мессенджеры, игры).

Как ты думаешь, почему выбрана именно встраиваемая, а не клиент-серверная?

7. Этапы разработки: сопоставь с решением задачи

Вспомни основные этапы решения задачи на компьютере. Сопоставь их с этапами разработки БД. Какие выводы ты можешь сделать?

8. Типы данных: выбери правильный

Определи тип данных для следующих полей:

  • Номер дома: ?
  • Возраст человека: ?
  • Номер телефона: ?
  • Наличие у ученика ПК: ?
  • Дата изготовления товара: ?
9. Целостность данных: почему это важно?

Что вы понимаете под целостностью данных? Почему целостность данных является одним из важнейших свойств БД?

Приведи пример, что может случиться, если целостность нарушена.

10. Запрос к БД "Страны"

Укажи количество записей, удовлетворяющих условию:

((Население > 100000000) И (Материк = "Евразия")) ИЛИ (Площадь > 5000000)

Подсказка: Посмотри на таблицу из учебника.

11. Чем отличаются запросы от фильтров?

И запросы, и фильтры отбирают записи по условиям. В чём принципиальная разница между ними?

Подумай: Что можно делать с результатами запроса?

12. Практическая задача: создай структуру БД "ОТДЫХ"

С помощью имеющейся в вашем распоряжении СУБД создайте БД «ОТДЫХ», содержащую две таблицы следующей структуры:

  • Тур (Страна, Вид отдыха, Продолжительность, Стоимость, Название фирмы)
  • Фирма (Название фирмы, Адрес, Телефон, Наличие системы скидок, Процент скидок)

В первой таблице должно быть не менее 20 записей; во второй — не менее 5 записей.

Создайте запрос для отображения информации о фирмах (название, адрес, телефон), предлагающих пляжный отдых. Создайте на его основе отчёт.

🎯 Практические задания

Попробуй применить полученные знания на практике!

📚 Задание 1: БД "Мои учебники"

Создайте БД, содержащую две таблицы:

  1. Таблица «Форма»: одно поле со списком форм (печатная, электронная)
  2. Таблица «Фонд»: поля — Код, Наименование учебника, Автор, Форма, Год издания, Титульная страница

Код: П-<порядковый номер> для печатных, Э-<порядковый номер> для электронных

Определите типы полей, установите связь между таблицами. Введите данные обо всех учебниках 11 класса.

🔢 Задание 2: Работа с запросами

На основе БД "Страны" выполните запросы:

  1. Найдите страны с процентом населения от 2% до 5%
  2. Найдите страны Северной или Южной Америки
  3. Найдите страны с населением >80 млн (данные после 01.01.2012) ИЛИ площадью <500 000 км²

Для каждого запроса укажите количество найденных записей.

🎨 Задание 3: Создание форм

Для БД "Мои учебники" создайте:

  • Простую форму для ввода данных об учебниках
  • Составную форму, показывающую форму выпуска и список учебников этой формы

Добавьте элементы оформления: заголовок, выпадающие списки, кнопки навигации.

📊 Задание 4: Создание отчётов

На основе БД "ОТДЫХ" создайте отчёты:

  1. Отчёт по фирмам: список всех фирм с контактами и системой скидок
  2. Отчёт по турам: группировка туров по странам с подсчётом средней стоимости
  3. Сводный отчёт: информация о турах с включением данных о фирмах

🚀 Дополнительное задание повышенной сложности

Спроектируйте и создайте БД для управления личной коллекцией (фильмы, игры, книги — на выбор):

  1. Определите необходимые сущности и их атрибуты
  2. Создайте схему "сущность-связь"
  3. Реализуйте БД в СУБД
  4. Создайте формы для ввода данных
  5. Создайте не менее 5 различных запросов
  6. Создайте отчёты для вывода статистики

Бонус: Добавьте систему оценок и рекомендаций на основе предпочтений.

💡 Интересные факты о БД и СУБД

🌍 Самая большая БД в мире

Всемирная паутина (World Wide Web) — это, по сути, распределённая база данных. Google индексирует более 130 триллионов веб-страниц!

🧬 БД человеческого генома

Полная последовательность ДНК человека занимает около 3 ГБ. Все генетические БД мира хранят петабайты информации о живых организмах.

⚡ Скорость современных СУБД

Современные СУБД могут обрабатывать миллионы транзакций в секунду. Например, Redis может выполнять до 10 миллионов операций чтения в секунду!

🎮 БД в играх

Массовые онлайн-игры (как World of Warcraft) используют огромные распределённые БД для хранения данных миллионов игроков, их инвентаря, достижений и истории.

🔮 Современные тренды в мире БД

Мир баз данных не стоит на месте. Вот что актуально прямо сейчас:

☁️ Облачные БД

БД всё чаще переносятся в облако (AWS, Google Cloud, Azure). Это даёт гибкость, масштабируемость и доступность из любой точки мира.

🤖 БД и искусственный интеллект

Современные СУБД интегрируют AI для автоматической оптимизации запросов, предсказания нагрузки и обнаружения аномалий.

📊 Big Data

NoSQL базы данных (MongoDB, Cassandra) позволяют работать с огромными объёмами неструктурированных данных — текстами, изображениями, видео.

⛓️ Blockchain как БД

Блокчейн — это распределённая БД, где каждая запись защищена криптографически и не может быть изменена задним числом.

Теперь ты знаешь, как устроен цифровой мир!

Теперь ты знаешь, как устроен цифровой мир!

🎓 Итог: БД и СУБД — это фундамент цифрового мира

От твоего плейлиста до банковского счёта, от медкарты до электронного журнала — всё это работает благодаря правильно спроектированным базам данных. Теперь ты знаешь, как это устроено изнутри. Следующий шаг — попробовать создать свою БД.

🚀 Удачи в освоении мира данных!

В следующих уроках мы будем углубляться в SQL — язык запросов к базам данных, и изучать продвинутые техники работы с данными!

Информатика — твой билет в цифровое будущее