Lab

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

db - lab1 - title

Лабораторная работа #1

Для выполнения лабораторной работы №1 необходимо:

  1. На основе предложенной предметной области (текста) составить ее описание. Из полученного описания выделить сущности, их атрибуты и связи.
  2. Составить инфологическую модель.
  3. Составить даталогическую модель. При описании типов данных для атрибутов должны использоваться типы из СУБД PostgreSQL.
  4. Реализовать даталогическую модель в PostgreSQL. При описании и реализации даталогической модели должны учитываться ограничения целостности, которые характерны для полученной предметной области.
  5. Заполнить созданные таблицы тестовыми данными.

Для создания объектов базы данных у каждого студента есть своя схема. Название схемы соответствует имени пользователя в базе studs (sXXXXXX). Команда для подключения к базе studs:

psql -h pg -d studs

Каждый студент должен использовать свою схему при работе над лабораторной работой №1 (а также в рамках выполнения 2, 3 и 4 этапа курсовой работы).

Отчёт по лабораторной работе должен содержать:

  1. Текст задания.
  2. Описание предметной области.
  3. Список сущностей и их классификацию (стержневая, ассоциация, характеристика).
  4. Инфологическая модель (ER-диаграмма в расширенном виде - с атрибутами, ключами...).
  5. Даталогическая модель (должна содержать типы атрибутов, вспомогательные таблицы для отображения связей "многие-ко-многим").
  6. Реализация даталогической модели на SQL.
  7. Выводы по работе.

Темы для подготовки к защите лабораторной работы:

  1. Архитектура ANSI-SPARC
  2. Модель "Сущность-Связь". Классификация сущностей. Виды связей. Ограничения целостности.
  3. DDL
  4. DML

db-portlet-lab2

Чтобы получить задание, введите свой номер варианта.

db - lab2 - title

Лабораторная работа #2

Задание.

По варианту, выданному преподавателем, составить и выполнить запросы к базе данных "Учебный процесс".

Команда для подключения к базе данных ucheb:

psql -h pg -d ucheb

Отчёт по лабораторной работе должен содержать:

  1. Текст задания.
  2. Реализацию запросов на SQL.
  3. Выводы по работе.

Темы для подготовки к защите лабораторной работы:

  1. SQL
  2. Соединение таблиц
  3. Подзапросы
  4. Представления
  5. Последовательности

db-portlet-lab3

Чтобы получить задание, введите свой номер варианта.

db - lab3 - title

Лабораторная работа #3

Задание.

Для отношений, полученных при построении предметной области из лабораторной работы №1, выполните следующие действия:

  • Опишите функциональные зависимости для отношений полученной схемы (минимальное множество);
  • Приведите отношения в 3NF (как минимум). Постройте схему на основеNF (как минимум). 
  • Опишите изменения в функциональных зависимостях, произошедшие после преобразования в 3NF (как минимум). Постройте схему на основеNF;
  • Преобразуйте отношения в BCNF. Докажите, что полученные отношения представлены в BCNF. Если ваша схема находится уже в BCNF, докажите это;
  • Какие денормализации будут полезны для вашей схемы? Приведите подробное описание.

Придумайте триггер и связанную с ним функцию, относящиеся к вашей предметной области, согласуйте их с преподавателем и реализуйте на языке PL/pgSQL.

Отчёт по лабораторной работе должен содержать:

  1. Текст задания.
  2. Исходная, нормализованная и денормализованная модели.
  3. Ответы на вопросы, представленные в задании.
  4. Функция и триггер на языке PL/pgSQL
  5. Выводы по работе.

Темы для подготовки к защите лабораторной работы:

  1. Нормализация. Формы
  2. Функциональные зависимости. Виды
  3. Денормализация
  4. Язык PL/pgSQL

db - lab4 - title

Лабораторная работа #4

Задание.

По варианту, выданному преподавателем, составить и выполнить запросы к базе данных "Учебный процесс".

Команда для подключения к базе данных ucheb:

psql -h pg -d ucheb

Отчёт по лабораторной работе должен содержать:

  1. Текст задания.
  2. Реализацию запросов на SQL.
  3. Планы выполнения запросов.
  4. Ответы на вопросы, представленные в задании.
  5. Выводы по работе.

Темы для подготовки к защите лабораторной работы:

  1. Индексы
  2. Оптимизация запросов
  3. Выбор плана выполнения запросов

db-portlet-lab4

Чтобы получить задание, введите свой номер варианта.