Домашнее задание - Средства проектирования структур БД: объекты

Выполняйте только если преподаватель назначил это задание. Срок сдачи сообщит преподаватель.
Резервное дистанционное учебное задание по дисциплине «ОП.08 Основы проектирования баз данных» для обучающихся СИЭУиП (Семестр 4, Занятие №21). Результаты работы сохраняются автоматически в хранилище вашего браузера (localStorage).

Задание: Проектирование схемы объектов и DDL-описание архитектуры

Вам необходимо спроектировать комплекс объектов базы данных для информационной системы «Региональный электронный архив научно-технических отчетов».

Требования к составу инфраструктуры объектов:

  1. Пространство имен (Схема): изолированная схема rnd_archive.
  2. Генератор номеров дел (SEQUENCE): последовательность report_reg_seq, начинающаяся со 100000, шаг 1, кэш 10.
  3. Перечислимый тип (ENUM): классификатор грифов доступа security_level_enum со значениями: PUBLIC, RESTRICTED, CONFIDENTIAL, TOP_SECRET.
  4. Базовая таблица документов: rnd_archive.scientific_reports (номер отчета из SEQUENCE, шифр темы, гриф доступа из ENUM, автор, объем страниц, дата регистрации).
  5. Безопасное представление (VIEW): rnd_archive.v_public_catalog, предоставляющее открытый доступ к отчетам только с грифом PUBLIC и скрывающее конфиденциальные реквизиты.
  6. Материализованная витрина (MATERIALIZED VIEW): rnd_archive.mv_department_statistics, агрегирующая общее число отчетов и суммарный объем страниц по тематическим шифрам. Предусмотреть уникальный индекс и команду обновления без блокировки (REFRESH CONCURRENTLY).
Часть 1. Схема схемы и генератора последовательностей (DDL):

Напишите SQL-скрипт создания схемы rnd_archive, последовательности report_reg_seq и перечислимого типа security_level_enum:

Часть 2. Описание базовой таблицы и безопасного VIEW (DDL):

Напишите SQL-скрипт создания таблицы scientific_reports (с привязкой SEQUENCE по умолчанию) и представления v_public_catalog для публичного доступа:

Часть 3. Проектирование MATERIALIZED VIEW и регламента актуализации:

Составьте DDL материализованного представления mv_department_statistics, создание обязательного уникального индекса и команду регламентного обновления REFRESH ... CONCURRENTLY:

Часть 4. Архитектурно-аналитическое обоснование:

Ответьте на вопросы: 1) Почему для витрины mv_department_statistics выбрано MATERIALIZED VIEW, а не обычное VIEW? 2) Что произойдет с номером в report_reg_seq, если добавление отчета будет отменено (ROLLBACK)?