Этап 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 демонстрирует два сквозных инженерных эталона:
- Создание таблицы с
EXCLUDE USING gist и попытку параллельной вставки конфликтующего интервала (вызов ошибки exclusion_violation).
- Создание циклической схемы «Отель — Номер-люкс» с внешним ключом
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.
|
- Участвуют в рефлексивном разборе, сопоставляют свои решения с эталонами.
- Фиксируют информацию о домашнем задании и критериях проверки.
|