Развернутый сценарий учебного занятия (Конспект с прямой речью)

Дисциплина: ОП.08 Основы проектирования баз данных
Тема рабочей программы (§2.2 с.7): Тема 1. Основные понятия баз данных — Анализ предметной области: связи и правила
Регламент: 80 минут (основной) / 60 минут (сокращенный адаптивный сценарий)

1. Этап 1: Организационный момент и мотивационная беседа 80 мин: 7 мин / 60 мин: 5 мин

Преподаватель приветствует учебную группу, фиксирует явку в электронном журнале и выводит на экран заглавный слайд презентации.
Преподаватель: «Здравствуйте, коллеги! На прошлом занятии мы научились выявлять ключевые сущности и атрибуты предметной области: Клиент, Заказ, Товар, Студент. Но представьте: если мы просто сложим все эти сущности в одну базу без правил взаимодействия, это будет напоминать склад, где все коробки сброшены в кучу. Что превращает разрозненные таблицы в согласованную информационную систему? Связи между ними и строгие бизнес-правила. Представьте поликлинику. Может ли один врач одновременно принимать трех пациентов в одном кабинете? А может ли студент одновременно учиться в двух очных группах на одном курсе? Почему эти очевидные жизненные ограничения жизненно важно запрограммировать в структуре базы данных? Сегодня мы детально разберем, как формализовать связи, кардинальность и правила реального мира».
Обучающийся: «Если в базе не будет ограничений, любой оператор сможет случайно записать двух людей на одно и то же время к врачу или продать один и тот же билет на самолет дважды, что приведет к реальному скандалу и финансовым убыткам!».
Преподаватель: «Именно так! В информационных системах это называется нарушением целостности данных. На сегодняшнем уроке наша цель — освоить классификацию связей по кардинальности (1:1, 1:M, M:N), научиться различать обязательное и факультативное участие, а главное — формулировать нерушимые бизнес-правила и семантические ограничения. По итогам пары каждый из вас выполнит индивидуальный расчетный лист по своему варианту с максимальной оценкой в 4 балла».

2. Этап 2: Изложение нового теоретического материала 80 мин: 28 мин / 60 мин: 20 мин

Преподаватель переключает слайды презентации, параллельно выполняя графические построения маркером на аудиторной доске.
Преподаватель: «Запишем базовое понятие: Связь (Relationship) — это поименованная логическая или содержательная ассоциация между двумя или несколькими сущностями. В ER-диаграммах используются две основные нотации: академическая нотация Питера Чена, где связь обозначается ромбом с глаголом связи, и индустриальная нотация «Воронья лапка» (Crow's Foot), где связь рисуется прямой линией со специальными значками на концах. Ключевой характеристикой связи является ее кардинальность (мощность). Существуют три типа: 1. Один к одному (1:1): Экземпляру А соответствует ровно один экземпляр Б. Например, Гражданин и Номер паспорта. В реляционной таблице это поле внешнего ключа с ограничением UNIQUE NOT NULL. 2. Один ко многим (1:M): Один экземпляр А ассоциируется со множеством экземпляров Б, но каждый Б принадлежит ровно одному А. Например, одна Учебная группа содержит множество Студентов. Это основной кирпичик реляционных баз данных. Запомните священное правило архитектора: первичный ключ со стороны "Один" всегда мигрирует как внешний ключ в таблицу со стороны "Многие"! 3. Многие ко многим (M:N): Множеству экземпляров А соответствует множество экземпляров Б. Студенты и Дисциплины; Врачи и Пациенты. А теперь главный реляционный закон: реляционные СУБД физически не поддерживают прямую связь M:N! В реляционной строке нельзя хранить массив ключей через запятую. Как мы решаем эту задачу? Мы выполняем декомпозицию связи M:N: вводим третью связующую таблицу (Junction Table) и разбиваем отношение на две связи 1:M».
Обучающийся: «То есть между Студентом и Дисциплиной появляется таблица "Успеваемость", куда входят ID студента, ID дисциплины и сама оценка?».
Преподаватель: «Именно! И пара (ID_студента, ID_дисциплины) формирует составной первичный ключ, гарантируя, что по одной дисциплине студент не получит две итоговые оценки в одну ведомость. Теперь обратим внимание на класс принадлежности сущности (модальность): Оно бывает обязательным (Mandatory, минимум 1) и факультативным (Optional, минимум 0). Вопрос на логику: если в клинику устроился новый Врач, обязан ли он прямо в секунду внесения в базу данных иметь проведенный прием? Нет! Врач может быть в штате, но приемов еще не провел — со стороны Врача связь факультативна. А может ли существовать Прием без назначенного Врача? Категорически нет! Со стороны Приема участие строго обязательное. В SQL обязательность превращается в ограничение NOT NULL на внешний ключ. И, наконец, перейдем к бизнес-правилам (Business Rules). Бизнес-правило — это формальное требование организации к данным. Например: "Сумма платежей по кредиту не может превышать сумму долга", или "Пациент не может быть записан к двум врачам на одно и то же время". Это семантические ограничения целостности, которые мы закладываем в архитектуру базы данных».

3. Этап 3: Демонстрация эталона системного анализа 80 мин: 15 мин / 60 мин: 10 мин

Преподаватель разбирает сквозной демонстрационный пример на доске, показывая образец заполнения каждого пункта практического бланка.
Преподаватель: «Разберем эталонный кейс: "Информационная система городской библиотеки". Шаг 1. Выделяем сущности: Читатель, Книга (экземпляр фонда) и событие Выдача. Шаг 2. Анализ связей и кардинальности: - Читатель — Выдача: связь 1:M (Один читатель совершает множество выдач; каждая выдача оформлена строго на одного читателя). * Модальность: со стороны Читателя — факультативная (новый читатель только получил билет и книг не брал, 0..M); со стороны Выдачи — обязательная (нельзя выдать книгу в пустоту, 1..1). - Книга — Выдача: связь 1:M (Конкретная книга многократно выдавалась в течение срока службы). Факультативная со стороны Книги, обязательная со стороны Выдачи. - Читатель — Книга: концептуально M:N, логически декомпозирована через сущность Выдача. Шаг 3. Формулирование бизнес-правил: - БП-1: Каждая выдача оформляется строго на один зарегистрированный читательский билет. - БП-2: Книга выдается на срок не более 30 календарных дней с правом однократного продления. - БП-3: Читатель с просроченной задолженностью блокируется для новых выдач. Шаг 4. Семантические ограничения целостности: - Ограничение 1 (Уникальность экземпляра на руках): Экземпляр книги со статусом "На руках" не может быть повторно выдан другому читателю до фиксации даты возврата (проверка поля Дата_Возврата IS NULL). - Ограничение 2 (Лимит фонда): Один читатель не может одновременно иметь на руках более 5 книг».

4. Этап 4: Самостоятельная работа обучающихся по вариантам 80 мин: 20 мин / 60 мин: 15 мин

Обучающиеся открывают интерактивный лист `zanyatie.html` на персональных компьютерах. Преподаватель напоминает распределение вариантов.
Преподаватель: «Коллеги, открываем рабочий лист. Выбираем свой вариант: - Вариант 1: Медицинский центр (Врач — Прием — Пациент). - Вариант 2: Университетский учебный процесс (Студент — Группа — Дисциплина — Преподаватель). - Вариант 3: Банковская система кредитования (Клиент — Кредитный договор — Платеж). - Вариант 4: Авиаперевозки (Рейс — Самолет — Билет — Пассажир). Ваша задача: 1. Четко определить сущности, связи, их кардинальность и класс принадлежности сущностей (2 балла). 2. Сформулировать 3 содержательных бизнес-правила предметной области (1 балл). 3. Выявить 2 семантических ограничения целостности (темпоральные, балансовые, ресурсные) (1 балл). Все ваши изменения автоматически сохраняются в браузере. Приступайте к выполнению!».
Преподаватель осуществляет индивидуальный контроль, направляет студентов, напоминая о недопустимости "ошибки мгновенного среза".

5. Этап 5: Экспертный разбор типичных затруднений 80 мин: 6 мин / 60 мин: 6 мин

Преподаватель: «Внимание на экран! Проходя по аудитории, я заметил две классические неточности: Во-первых, в варианте 4 (Авиаперевозки) некоторые указали связь "Пассажир — Место" как 1:M, мотивируя тем, что пассажир летает много раз. Но обратите внимание: мы рассматриваем посадочный талон на конкретный рейс! На одном рейсе пассажир занимает ровно одно физическое кресло, и на это кресло не может сесть второй человек — в рамках рейса это жесткая связь 1:1. Во-вторых, в варианте 3 (Банк) не путайте бизнес-правило с форматом поля: "Номер счета из 20 цифр" — это техническая маска, а правило — это "Сумма списания основного долга не может превышать начальную сумму кредита". Исправьте свои формулировки перед отправкой!».

6. Этап 6: Подведение итогов и рефлексия 80 мин: 4 мин / 60 мин: 4 мин

Преподаватель: «Итак, сегодня мы сделали важнейший шаг от простого набора таблиц к осмысленному реляционному проектированию. Вы научились классифицировать связи, определять обязательность участия и формулировать бизнес-правила. Нажмите кнопку "Печать / Сохранить в PDF" внизу страницы, сохраните файл и передайте на проверку. Напоминаю: резервное дистанционное домашнее задание (`domashnee_zadanie.html`) выполняют только те обучающиеся, которым оно назначено индивидуально при пропуске пары. Всем спасибо за отличную работу!».