This is an old revision of the document!
Table of Contents
Базы данных
Лабораторные работы
Пример проекта находится здесь.
Лабораторная работа 1. Проектирование структуры БД
Цель лабораторной работы - спроектировать структуру базы данных (БД), исходя из постановки задачи И консультации с преподавателем, если это необходимо.
Требование 1: Спроектированная структура должна соответствовать всем частям задания (и структурной, и возможности получить выходные документы).
Требование 2: База данных должна содержать от трех до пяти таблиц. Если при проектировании получается слишком много, то надо упрощать постановку задачи.
Требование 3: База данных должна быть в третьей нормальной форме.
- Выбрать задачу из одного из учебных пособий:
- Список задач к.т.н. Сосинской С.С. Варианты заданий
- Задачи, сгенерированные нейронной сетью.
- Спроектировать ER-диаграмму (рисовать модель можно в любом виде и в любой нотации: UMLET, листок (фото) бумаги, онлайн-приложения и т.п.)
- Проверить и отработать результат с нейронной сетью Deepseek (требуется учетная запись Google Gmail), чтобы выполнились требования.
- Согласовать ПОЛУЧЕННУЮ модель с преподавателем (по факту, сдать лабораторную работу 1 преподавателю): если этот этап не пройти, то потом все остальное надо будет переделывать, это включая оставшуюся часть данной лабораторной и остальные лабораторные
Отчет по лабораторным работам представляется один общий в виде файла README.md на сайте https://github.com или https://gitverse.ru в виде открытого проекта (прошлогодний проект). Настоящий здесь.
Лабораторная работа 2. Инсталляция БД на сервере
- По правилам преобразования сформировать из ER-диаграммы Логическую модель
- Спроектировать Физическую модель
- Физическую модель преобразовать в DDL-запросы, формирующие БД PostgreSQL при помощи клиента https://sql.iscnet.ru/pgadmin4
- Заполнить таблицы в БД данными (минимум 4 строки).
- Выполнить содержательный запрос SELECT с JOIN-нами (2-3) подчиненные таблицы.
Лабораторная работа 3. Представление (View)
- Реализовать представление для выходных документов (см. вариант задания)
- Реализовать встроенную процедуры с параметрами запроса к представлениям, обрамляющую представления
Лабораторная работа 4. Анализ производительности исполнения запросов
- Создать генератор данных для вашей БД, такой, чтобы в каждой таблице было по 20 000 записей
- Проанализировать порядок выполнения этапов запросов для запросов выходных документов
- Провести совершенствование БД с целью ускорения исполнения запросов
Требование: Понимать последовательность выполнения операций, способы соединения таблиц и т. д.
Лабораторная работа 5. Триггеры
- Реализовать триггеры для удаления записей в подчиненных таблицах (“многие”) при удалении записи в основной (“один”)
- Реализовать триггер фиксации изменения таблиц в виде таблицы-журнала. Триггер записывает в таблицу информацию о том, какая команда (INSERT, UPDATE, DELETE) выполнена на вашей таблице и в какое время.
Telegram: @eugeneai Пример организации проекта(Github). Можно использовать Gitverse.ru, который требует регистрации через российские облачные сервисы.
