| Дисциплина | ОП.08 Основы проектирования баз данных |
| Семестр и тайминг | Семестр 4 (старт семестра!). 2 академических часа: основной регламент 80 минут / сокращенный регламент 60 минут. |
| Тема по программе | Тема 4. Проектирование структур баз данных — Средства проектирования структур БД: объекты (§2.2 с.7-8 программы). |
| Цель занятия | Сформировать у обучающихся систему теоретических знаний и первичных практических навыков по архитектурному проектированию инфраструктуры объектов реляционной СУБД (пространства имен/схемы, таблицы, представления VIEW и MATERIALIZED VIEW, последовательности SEQUENCE, составные и доменные типы данных, индексы и роли безопасности), а также методологии их разработки с использованием современных CASE-средств (pgModeler, DBeaver, dbForge Studio, ERwin) методами Forward и Reverse Engineering. |
| Задачи занятия |
Образовательные: изучить иерархическую структуру системного каталога СУБД; освоить назначение и специфику функционирования объектов SEQUENCE, VIEW, MATERIALIZED VIEW (включая стратегию REFRESH CONCURRENTLY); изучить функционал CASE-инструментов визуального проектирования. Развивающие: развивать архитектурно-инженерное мышление, способность анализировать вычислительные затраты и принимать обоснованные решения при выборе между предвычисленными витринами данных и динамическими представлениями. Воспитательные: формировать культуру информационной безопасности и дискреционного разграничения доступа (Least Privilege) при проектировании баз данных. |
| Формы и методы обучения | Проблемное изложение, визуализация с использованием интерактивной презентации, сравнительный анализ архитектурных решений, эвристическая беседа, демонстрация DDL-кода. |
| Оборудование и средства | Мультимедийный проектор, экран, интерактивная презентация (15 слайдов), электронный конспект лекции, методические рекомендации преподавателя, интерактивный рабочий лист студента (4 варианта кейсов). |
| Этап занятия и цель | Время (80/60 мин) | Деятельность преподавателя | Деятельность обучающихся |
|---|---|---|---|
| 1. Организационный момент Цель: мобилизация внимания, позитивный старт 4 семестра. |
5 мин / 3 мин | Приветствует студентов, фиксирует явку в журнале. Поздравляет с началом 4 семестра обучения дисциплине «ОП.08 Основы проектирования баз данных». Озвучивает цели и перспективы нового раздела «Проектирование структур баз данных». | Приветствуют преподавателя, занимают рабочие места, настраивают учебные терминалы, готовятся к восприятию информации. |
| 2. Мотивация и актуализация опорных знаний Цель: создание проблемной ситуации, связь с 3 семестром. |
10 мин / 7 мин | Ставит проблемный вопрос: «Представьте систему, где 150 аналитиков ежеминутно строят отчет по 10 миллионам записей с 6 JOIN. Сервер "ложится" со 100% нагрузкой на CPU. Таблицы уже нормализованы и проиндексированы. Как решить проблему средствами архитектуры объектов СУБД?». Проводит экспресс-опрос по реляционным концепциям 3 семестра. | Анализируют кейс, выдвигают гипотезы (кэширование, создание промежуточных таблиц). Вспоминают понятия реляционных связей, первичных ключей и индексов. Осознают необходимость специализированных объектов СУБД. |
| 3. Объяснение нового теоретического материала (Часть 1: Схемы, SEQUENCE, Типы) Цель: освоение базовых структурных объектов СУБД. |
25 мин / 18 мин | Демонстрирует слайды презентации 2–6. Разбирает иерархию системного каталога: Кластер → База данных → Схема (Namespace) → Объекты. Объясняет синтаксис CREATE SCHEMA и механизм search_path. Детально разбирает объект SEQUENCE: атомарность инкремента в Shared Memory, неблокирующее поведение, неизбежность пропусков номеров при ROLLBACK. Объясняет строгую типизацию через ENUM и Composite types. |
Фиксируют схему иерархии объектов в конспектах. Анализируют поведение генератора последовательностей при параллельных вставках. Задают вопросы о различиях между суррогатным ID и номерами накладных строгой отчетности. |
| 4. Объяснение нового теоретического материала (Часть 2: VIEW, MATERIALIZED VIEW, DCL) Цель: освоение представлений и разграничения доступа. |
20 мин / 16 мин | Демонстрирует слайды 7–11. Проводит детальный сравнительный анализ обычных VIEW (динамическая подстановка в AST, нулевой размер на диске, сокрытие ПДн) и MATERIALIZED VIEW (физическое хранение вычисленных блоков, возможность построения B-Tree индексов). Объясняет механизм и условия неблокирующего обновления REFRESH MATERIALIZED VIEW CONCURRENTLY (требование уникального индекса). Разбирает роли (ROLE) и гранты (GRANT/REVOKE). |
Заполняют сравнительную таблицу характеристик представлений. Изучают синтаксис DDL материализованных витрин. Формулируют критерии выбора: когда требуется real-time доступ через VIEW, а когда допустимо регламентное отставание в MATERIALIZED VIEW. |
| 5. Обзор CASE-инструментов и DDL-инженерии Цель: знакомство со средами визуального моделирования. |
10 мин / 8 мин | Демонстрирует слайды 12–14. Проводит обзор профессиональных CASE-инструментов: pgModeler, DBeaver, dbForge Studio, ERwin Data Modeler. Раскрывает суть двунаправленного проектирования: прямого (Forward Engineering — от диаграммы к DDL-файлу) и обратного (Reverse Engineering — интроспекция живой БД в наглядную ER-модель). | Сопоставляют графические образы сущностей в CASE-инструментах с генерируемым DDL-кодом. Анализируют сценарии применения прямого и обратного инжиниринга при миграциях и рефакторинге БД. |
| 6. Первичное закрепление и разбор кейсов Цель: закрепление материала через практические контексты. |
7 мин / 6 мин | Демонстрирует интерактивный рабочий лист zanyatie.html. Разбирает 4 предметных кейса: Биллинг ЖКХ, Радиология PACS, Служба доставки посылок, Электронный деканат. Демонстрирует тематический слайд 15 (интернет-мем xkcd 327 «Little Bobby Tables») для закрепления принципов архитектурной защиты данных через представления и типизацию. |
Активно участвуют в обсуждении кейсов. Определяют необходимые объекты (схемы, материализованные витрины, перечисления) для каждой предметной области. Закрепляют правила наименования и синтаксис DDL. |
| 7. Подведение итогов, рефлексия, инструкции Цель: систематизация знаний и постановка ориентиров. |
3 мин / 2 мин | Подводит итоги вводного занятия 4 семестра. Оценивает активность студентов. Дает пояснения по структуре предстоящей практической работы №9 (Занятие 22). Информирует о наличии резервного дистанционного домашнего задания. | Осуществляют самооценку освоения материала. Задают уточняющие вопросы по объектам СУБД. Завершают работу на учебных местах. |