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

Средства проектирования структур БД: ограничения (Занятие №22)

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

Дисциплина ОП.08 Основы проектирования баз данных
Специальность 09.02.06 Сетевое и системное администрирование
Тематический раздел Тема 4. Проектирование структур баз данных (§2.2 с.7–8 программы)
Тема занятия Средства проектирования структур БД: ограничения (Занятие №22)
Регламент времени 2 академических часа (80 минут основной / 60 минут сокращенный)
Используемые педагогические технологии Информационно-коммуникационные технологии, технология проблемного обучения, кейс-метод, развивающее обучение
Цель занятия Сформировать у обучающихся теоретические знания и проектировочные умения в области построения декларативных ограничений целостности реляционных баз данных: освоение доменных ограничений (DOMAIN), составных предикатов CHECK с регулярными выражениями POSIX regex (~), ограничений исключения EXCLUDE USING gist с интервальными типами (tsrange, daterange) для предотвращения коллизий бронирования и овербукинга, а также механизмов отложенных ограничений DEFERRABLE INITIALLY DEFERRED/IMMEDIATE для обеспечения ссылочной целостности в циклических схемах.
Дидактические средства Интерактивная презентация (15 слайдов с веб-комиксом Bobby Tables), интерактивный рабочий лист студента zanyatie.html (4 варианта проектирования сложных ограничений), теоретический конспект lekciya.html, методическое руководство metodicheskiy_material.html, критериальная рубрика .rubrika.md, мультимедийный проектор.
Формируемые компетенции ОК 01, ОК 02, ОК 04, ОК 07, ПК 1.1, ПК 1.2, ПК 1.5

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

Этап и хронометраж Деятельность преподавателя Деятельность студентов
Этап 1
Организационный момент и мотивация
5 минут
  • Приветствует обучающихся, отмечает явку, проверяет рабочую готовность браузеров и ПК.
  • Формулирует мотивационный кейс: сбой бронирования конференц-зала в корпоративной системе, когда два топ-менеджера забронировали зал на одно время из-за параллельных транзакций (Race Condition).
  • Озвучивает тему занятия, дидактическую цель и регламент работы.
  • Приветствуют преподавателя, занимают рабочие места.
  • Осмысливают проблему неэффективности наивных клиентских проверок SELECT COUNT(*) перед вставкой.
  • Фиксируют тему занятия в конспектах.
Этап 2
Актуализация опорных знаний
8 минут
  • Проводит фронтальный экспресс-опрос по классификации ограничений целостности (PRIMARY KEY, UNIQUE, FOREIGN KEY, NOT NULL, CHECK).
  • Уточняет разницу между первичным и уникальным ключом, а также семантику NULL в проверках уникальности.
  • Задает проблемный вопрос: может ли стандартный B-Tree индекс и ограничение UNIQUE защитить от наложения двух временных интервалов бронирования?
  • Отвечают на вопросы с места, воспроизводят определения первичных и внешних ключей.
  • Анализируют вопрос о временных интервалах и делают вывод, что UNIQUE проверяет равенство моментов, но бессилен против частичного перекрытия отрезков времени.
Этап 3
Сообщение новых теоретических знаний
35 минут
  • Демонстрирует интерактивную презентацию (слайды 2–14).
  • Раскрывает трехуровневую пирамиду ограничений: домены (CREATE DOMAIN) и предикаты CHECK.
  • Объясняет синтаксис POSIX regex (операторы ~, ~*, !~, !~*) и показывает критичность якорей ^ и $.
  • Разбирает трехзначную логику SQL (TRUE, FALSE, UNKNOWN) в предикатах CHECK при наличии NULL.
  • Вводит интервальные типы (tsrange, daterange) и оператор пересечения &&.
  • Формулирует синтаксис EXCLUDE USING gist с расширением btree_gist.
  • Объясняет проблему «курицы и яйца» при циклических внешних ключах и алгоритм отложенной проверки через DEFERRABLE INITIALLY DEFERRED/IMMEDIATE.
  • Слушают преподавателя, анализируют слайды презентации, ведут конспектирование ключевых терминов и синтаксических конструкций DDL.
  • Участвуют в диалоге: анализируют примеры регулярных выражений для валидации СНИЛС, паспорта и артикула SKU.
  • Разбирают временную диаграмму перекрытия слотов бронирования.
Этап 4
Демонстрация сквозного инженерного кейса
12 минут
  • На проекторе в терминале psql демонстрирует два сквозных инженерных эталона:
    1. Создание таблицы с EXCLUDE USING gist и попытку параллельной вставки конфликтующего интервала (вызов ошибки exclusion_violation).
    2. Создание циклической схемы «Отель — Номер-люкс» с внешним ключом DEFERRABLE INITIALLY DEFERRED и успешную вставку в рамках BEGIN...COMMIT.
  • Демонстрирует выявление логического тупика при конфликте каскадного удаления ON DELETE SET NULL и поля NOT NULL.
  • Следят за выполнением SQL-команд на экране, фиксируют реакцию СУБД на конфликтные данные.
  • Задают уточняющие вопросы по поведению транзакции в случае сбоя отложенного ключа в момент COMMIT.
Этап 5
Первичное закрепление и экспресс-практикум
14 минут
  • Инструктирует обучающихся по выполнению заданий в интерактивном рабочем листе zanyatie.html.
  • Распределяет студентов по 4 вариантам:
    • Вариант 1: Система бронирования конференц-залов (EXCLUDE gist tsrange, CHECK).
    • Вариант 2: Регистрация в банковском портале (СНИЛС regex, паспорт, совершеннолетие).
    • Вариант 3: Отели и гостиницы (циклический FK DEFERRABLE INITIALLY DEFERRED).
    • Вариант 4: Электронный магазин (CHECK скидки, процент 0..90, артикул SKU).
  • Осуществляет индивидуальное консультирование, контролирует правильность написания регулярных выражений и структуры ограничений.
  • Открывают рабочий лист zanyatie.html, заполняют ФИО и группу, выбирают назначенный вариант.
  • Разрабатывают DDL-спецификацию ограничений целостности, конструируют предикаты и проверяют их на непротиворечивость.
  • Сохраняют результаты в браузере (LocalStorage) и подготавливают ответы.
Этап 6
Подведение итогов, рефлексия и домашнее задание
6 минут
  • Организует экспресс-разбор типичных студенческих ошибок (забытые якоря в regex, отсутствие btree_gist при EXCLUDE).
  • Демонстрирует слайд 15 с веб-комиксом Bobby Tables (xkcd #327), проводя параллель между ограничениями целостности и защитой БД от искажения.
  • Озвучивает критерии оценки по 4-балльной рубрике.
  • Дает инструктаж по резервному домашнему заданию domashnee_zadanie.html.
  • Участвуют в рефлексивном разборе, сопоставляют свои решения с эталонами.
  • Фиксируют информацию о домашнем задании и критериях проверки.

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

Этап и хронометраж Деятельность преподавателя Деятельность студентов
Этап 1
Организационный момент и мотивация
3 минуты
  • Приветствует обучающихся, отмечает присутствующих.
  • Кратко ставит проблему овербукинга и объявляет тему занятия.
  • Готовятся к занятию, настраивают рабочее пространство.
Этап 2
Актуализация опорных знаний
5 минут
  • Проводит блиц-опрос: CHECK, UNIQUE, FOREIGN KEY, логика NULL.
  • Кратко с места формулируют ответы.
Этап 3
Сообщение новых теоретических знаний
27 минут
  • Излагает ключевые теоретические блоки в концентрированном виде:
    • Предикаты CHECK с POSIX regex (якоря ^...$);
    • Интервалы tsrange и EXCLUDE USING gist;
    • Циклические связи и DEFERRABLE INITIALLY DEFERRED.
  • Конспектируют базовые синтаксические шаблоны DDL-ограничений.
Этап 4
Демонстрация сквозного инженерного кейса
10 минут
  • Демонстрирует готовый скрипт с ограничением EXCLUDE на tsrange и транзакцию вставки с отложенным FK.
  • Анализируют поведение СУБД при исключениях целостности.
Этап 5
Первичное закрепление и экспресс-практикум
11 минут
  • Координирует работу студентов в zanyatie.html по ключевым заданиям варианта.
  • Составляют DDL-ограничения для назначенного варианта.
Этап 6
Подведение итогов, рефлексия и домашнее задание
4 минуты
  • Подводит итоги, демонстрирует мем со слайда 15, объясняет регламент ДЗ.
  • Фиксируют результаты рефлексии и требования к домашнему заданию.