Технологическая карта учебного занятия

Тема 3. Этапы проектирования баз данных — Практическое занятие №6: ключевые поля, индексы, связи (Занятие №18)

Паспорт учебного занятия

Дисциплина ОП.08 Основы проектирования баз данных
Специальность 09.02.06 Сетевое и системное администрирование
Тематический раздел Тема 3. Этапы проектирования баз данных (§2.2 с.7 программы)
Тема занятия Практическое занятие №6: ключевые поля, индексы, связи (Занятие №18)
Регламент времени 2 академических часа (80 минут основной / 60 минут сокращенный)
Используемые педагогические технологии Информационно-коммуникационные технологии, технология проблемного обучения, кейс-метод, развивающее обучение
Цель занятия Сформировать у обучающихся практические навыки проектирования ключевых полей, ограничений ссылочной целостности и физических индексов для реляционных баз данных: освоение алгоритмов поиска по сбалансированному дереву B-Tree, проектирование уникальных и неуникальных индексов, построение составных индексов с учетом правила левого префикса и селективности колонок, обязательная индексация внешних ключей (Foreign Keys) для устранения Seq Scan при JOIN и предотвращения каскадных блокировок, анализ накладных расходов при записи (DML Overhead) и интерпретация планов выполнения запросов EXPLAIN.
Дидактические средства Интерактивная презентация prezentaciya.html (15 слайдов, мем Little Bobby Tables), интерактивный рабочий лист студента zanyatie.html (4 дифференцированных практических кейса), теоретический конспект lekciya.html, критериальная рубрика .rubrika.md, мультимедийный проектор.
Формируемые компетенции ОК 01, ОК 02, ОК 04, ПК 1.1, ПК 1.2, ПК 1.5

Структура занятия — Основной регламент (80 минут)

Этап и хронометраж Деятельность преподавателя Деятельность студентов
Этап 1
Организационный момент и проблемная мотивация
5 минут
  • Приветствует обучающихся, проверяет готовность рабочих мест и явку.
  • Формулирует проблемный производственный кейс: «После обновления мобильного приложения интернет-банка сервер упал при попытке 50 000 клиентов получить выписку за месяц. База данных зависла на 100% утилизации диска. Почему добавление одного индекса вернуло систему к жизни за 5 миллисекунд?»
  • Озвучивает тему практического занятия и ключевые этапы пары.
  • Приветствуют преподавателя, организуют рабочее пространство, запускают браузеры.
  • Включаются в анализ проблемной ситуации, выдвигают гипотезы о причинах деградации дискового ввода-вывода (I/O).
  • Фиксируют тему практического занятия №6.
Этап 2
Актуализация опорных знаний
8 минут
  • Проводит фронтальный экспресс-опрос по ранее изученным темам:
    • В чем различие между логическим внешним ключом (FOREIGN KEY) и физическим индексом?
    • Создает ли СУБД автоматический индекс на внешний ключ?
    • Какова алгоритмическая сложность последовательного сканирования таблицы (Seq Scan) по сравнению с поиском по дереву?
  • Обобщает ответы и демонстрирует схему хранения строк в неупорядоченной куче (Heap).
  • Отвечают на вопросы преподавателя, сопоставляют понятия ссылочной целостности и структур быстрого доступа.
  • Осознают критический факт: внешний ключ по умолчанию не индексируется большинством СУБД.
Этап 3
Инструктаж и теоретический базис
18 минут
  • Демонстрирует интерактивную презентацию (слайды 2–12):
    • Физическая архитектура сбалансированного дерева B-Tree (корень, внутренние узлы, двусвязный список листьев, указатели TID).
    • Уникальные (UNIQUE) vs Неуникальные индексы.
    • Составные индексы (Composite Index) и строгое правило левого префикса (Left-Prefix Rule).
    • Селективность колонок (кардинальность) и золотое правило порядка: [Равенства =] -> [Диапазоны <, >, BETWEEN] -> [ORDER BY].
    • Кластеризованные vs Некластеризованные индексы.
    • Накладные расходы при записи (DML Overhead: замедление INSERT/UPDATE/DELETE, расщепление страниц Page Split).
    • Частичные индексы (Partial Index) для очередей и асимметричных статусов.
  • Внимательно слушают объяснение преподавателя, конспектируют физические свойства B-Tree и правила формирования составных индексов.
  • Задают уточняющие вопросы по механике работы левого префикса и накладным расходам при операциях вставки.
Этап 4
Разбор сквозного эталона и EXPLAIN
12 минут
  • Демонстрирует на экране разбор сквозного кейса и чтение планов выполнения запросов (EXPLAIN ANALYZE):
    • Сравнение плана Seq Scan (cost=0.00..45210.00, rows removed=1999980) и Index Scan (cost=0.43..12.50).
    • Демонстрация каскадной блокировки дочерней таблицы при отсутствии индекса на внешнем ключе во время удаления строки родителя.
    • Синтез корректного DDL-скрипта создания составного индекса.
  • Инструктирует студентов по выполнению индивидуальных заданий в интерактивном листе zanyatie.html.
  • Анализируют различия планов выполнения запросов, фиксируют маркеры неэффективности (высокий cost, строки, отброшенные фильтром).
  • Изучают эталонную структуру DDL-команд CREATE INDEX и CREATE UNIQUE INDEX.
Этап 5
Практическая работа студентов
28 минут
  • Координирует самостоятельную работу студентов в интерактивном листе zanyatie.html по 4 дифференцированным вариантам:
    • Вариант 1: Интернет-банкинг (Счета и Транзакции, индекс FK, составной B-Tree (id_клиента, дата)).
    • Вариант 2: Биллинг связи (Абоненты, Звонки, Тарифы, частичный индекс WHERE статус = 'ACTIVE').
    • Вариант 3: Каталог недвижимости (Объекты, Города, Риелторы, составной диапазонный индекс (город_id, цена, комнат)).
    • Вариант 4: Логистика и доставка (Заказы, Курьеры, Маршруты, UNIQUE на трек-номер, индекс FK курьера + дата).
  • Оказывает индивидуальные консультации, контролирует автосохранение ответов в localStorage.
  • Заполняют регистрационные поля (ФИО, группа) в zanyatie.html.
  • Выполняют индивидуальные инженерные расчеты, формируют DDL-скрипты, обосновывают селективность колонок и порядок левого префикса.
  • Оценивают накладные расходы DML, заполняют аналитические поля и блок самопроверки.
Этап 6
Подведение итогов, рефлексия и оценка
9 минут
  • Организует фронтальный разбор типичных ошибок (создание индексов на все поля, постановка диапазона раньше равенства, пропуск индексов на FK).
  • Демонстрирует слайд 15 с интернет-мемом Little Bobby Tables (xkcd #327), подчеркивая важность архитектурной дисциплины.
  • Выставляет оценки по 4-балльной критериальной шкале рубрики (.rubrika.md), озвучивает порядок сдачи резервного ДЗ (domashnee_zadanie.html).
  • Участвуют в рефлексивном обсуждении, сопоставляют свои проектные решения с эталонами рубрики.
  • Экспортируют заполненный рабочий лист в PDF / сохраняют протокол работы.
  • Записывают домашнее задание при необходимости сдачи.

Структура занятия — Сокращенный регламент (60 минут)

Этап и хронометраж Деятельность преподавателя Деятельность студентов
Этап 1
Организационный момент и мотивация
3 минуты
Краткое приветствие, экспресс-фиксация явки, постановка проблемного вопроса о падении базы данных без индексов при массовом чтении. Приветствуют преподавателя, настраивают рабочую среду, включаются в тему.
Этап 2
Актуализация опорных знаний
5 минут
Блиц-опрос: почему FOREIGN KEY не ускоряет JOIN автоматически, сложность Seq Scan O(N) vs B-Tree O(log N). Отвечают на вопросы, вспоминают концепцию физического хранения в куче (Heap).
Этап 3
Теоретический базис и инструктаж
12 минут
Сжатое изложение ключевых концепций по слайдам презентации: B-Tree, составные индексы, правило левого префикса, накладные расходы при записи, частичные индексы. Слушают ключевые тезисы, фиксируют правила расстановки колонок в составном индексе.
Этап 4
Разбор эталона EXPLAIN
10 минут
Демонстрация сравнения планов Seq Scan и Index Scan, разбор скрипта индексации FK для устранения блокировок дочерней таблицы. Анализируют эталонный план, готовятся к самостоятельному решению кейсов.
Этап 5
Практическая работа в zanyatie.html
24 минуты
Курирование выполнения студентами 4 кейсов в интерактивном листе, точечные консультации по синтаксису и расчету селективности. Решают индивидуальные практические кейсы, генерируют DDL, обосновывают архитектурные решения.
Этап 6
Итоги, рефлексия, оценка
6 минут
Экспресс-разбор ошибок, демонстрация мема Little Bobby Tables, оглашение баллов по критериальной рубрике. Проводят самопроверку, сохраняют результаты работы, задают итоговые вопросы.