User Tools

Site Tools


db:main

This is an old revision of the document!


Базы данных

Лабораторные работы

Пример проекта находится здесь.

Проект нового набора лабораторных работ здесь.

Лабораторная работа 1. Проектирование структуры БД

Цель лабораторной работы - спроектировать структуру базы данных (БД), исходя из постановки задачи И консультации с преподавателем, если это необходимо.

Требование 1: Спроектированная структура должна соответствовать всем частям задания (и структурной, и возможности получить выходные документы).

Требование 2: База данных должна содержать от трех до пяти таблиц. Если при проектировании получается слишком много, то надо упрощать постановку задачи.

Требование 3: База данных должна быть в третьей нормальной форме.

  1. Выбрать задачу из одного из учебных пособий:
  2. Спроектировать ER-диаграмму (рисовать модель можно в любом виде и в любой нотации: UMLET, листок (фото) бумаги, онлайн-приложения и т.п.)
  3. Проверить и отработать результат с нейронной сетью Deepseek (требуется учетная запись Google Gmail), чтобы выполнились требования. 8-)
  4. Согласовать ПОЛУЧЕННУЮ модель с преподавателем (по факту, сдать лабораторную работу 1 преподавателю): если этот этап не пройти, то потом все остальное надо будет переделывать, это включая оставшуюся часть данной лабораторной и остальные лабораторные

Отчет по лабораторным работам представляется один общий в виде файла README.md на сайте https://github.com или https://gitverse.ru в виде открытого проекта (прошлогодний проект). Настоящий 8-) здесь.

Лабораторная работа 2. Инсталляция БД на сервере

  1. По правилам преобразования сформировать из ER-диаграммы Логическую модель
  2. Спроектировать Физическую модель
  3. Физическую модель преобразовать в DDL-запросы, формирующие БД PostgreSQL при помощи клиента https://sql.iscnet.ru/pgadmin4
  4. Заполнить таблицы в БД данными (минимум 4 строки).
  5. Выполнить содержательный запрос SELECT с JOIN-нами (2-3) подчиненные таблицы.

Лабораторная работа 3. Представление (View)

  1. Реализовать представление для выходных документов (см. вариант задания)
  2. Реализовать встроенную процедуры с параметрами запроса к представлениям, обрамляющую представления

Лабораторная работа 4. Анализ производительности исполнения запросов

  1. Создать генератор данных для вашей БД, такой, чтобы в каждой таблице было по 20 000 записей
  2. Проанализировать порядок выполнения этапов запросов для запросов выходных документов
  3. Провести совершенствование БД с целью ускорения исполнения запросов

Требование: Понимать последовательность выполнения операций, способы соединения таблиц и т. д.

Лабораторная работа 5. Триггеры

  1. Реализовать триггеры для удаления записей в подчиненных таблицах (“многие”) при удалении записи в основной (“один”)
  2. Реализовать триггер фиксации изменения таблиц в виде таблицы-журнала. Триггер записывает в таблицу информацию о том, какая команда (INSERT, UPDATE, DELETE) выполнена на вашей таблице и в какое время.

Telegram: @eugeneai Пример организации проекта(Github). Можно использовать Gitverse.ru, который требует регистрации через российские облачные сервисы.

db/main.1759882942.txt.gz · Last modified: by eugeneai