Databases
Лабораторная работа #1
Для выполнения лабораторной работы №1 необходимо:
- На основе предложенной предметной области (текста) составить ее описание. Из полученного описания выделить сущности, их атрибуты и связи.
- Составить инфологическую модель.
- Составить даталогическую модель. При описании типов данных для атрибутов должны использоваться типы из СУБД PostgreSQL.
- Реализовать даталогическую модель в PostgreSQL. При описании и реализации даталогической модели должны учитываться ограничения целостности, которые характерны для полученной предметной области.
- Заполнить созданные таблицы тестовыми данными.
Для создания объектов базы данных у каждого студента есть своя схема. Название схемы соответствует имени пользователя в базе studs (sXXXXXX). Команда для подключения к базе studs:
psql -h pg -d studs
Каждый студент должен использовать свою схему при работе над лабораторной работой №1 (а также в рамках выполнения 2, 3 и 4 этапа курсовой работы).
Отчёт по лабораторной работе должен содержать:
- Текст задания.
- Описание предметной области.
- Список сущностей и их классификацию (стержневая, ассоциация, характеристика).
- Инфологическая модель (ER-диаграмма в расширенном виде - с атрибутами, ключами...).
- Даталогическая модель (должна содержать типы атрибутов, вспомогательные таблицы для отображения связей "многие-ко-многим").
- Реализация даталогической модели на SQL.
- Выводы по работе.
Темы для подготовки к защите лабораторной работы:
- Архитектура ANSI-SPARC
- Модель "Сущность-Связь". Классификация сущностей. Виды связей. Ограничения целостности.
- DDL
- DML
Лабораторная работа #2
Задание.
По варианту, выданному преподавателем, составить и выполнить запросы к базе данных "Учебный процесс".
Команда для подключения к базе данных ucheb:
psql -h pg -d ucheb
Отчёт по лабораторной работе должен содержать:
- Текст задания.
- Реализацию запросов на SQL.
- Выводы по работе.
Темы для подготовки к защите лабораторной работы:
- SQL
- Соединение таблиц
- Подзапросы
- Представления
- Последовательности
Лабораторная работа #3
Задание.
Для отношений, полученных при построении предметной области из лабораторной работы №1, выполните следующие действия:
- Опишите функциональные зависимости для отношений полученной схемы (минимальное множество);
- Приведите отношения в 3NF (как минимум). Постройте схему на основеNF (как минимум).
- Опишите изменения в функциональных зависимостях, произошедшие после преобразования в 3NF (как минимум). Постройте схему на основеNF;
- Преобразуйте отношения в BCNF. Докажите, что полученные отношения представлены в BCNF. Если ваша схема находится уже в BCNF, докажите это;
- Какие денормализации будут полезны для вашей схемы? Приведите подробное описание.
Придумайте триггер и связанную с ним функцию, относящиеся к вашей предметной области, согласуйте их с преподавателем и реализуйте на языке PL/pgSQL.
Отчёт по лабораторной работе должен содержать:
- Текст задания.
- Исходная, нормализованная и денормализованная модели.
- Ответы на вопросы, представленные в задании.
- Функция и триггер на языке PL/pgSQL
- Выводы по работе.
Темы для подготовки к защите лабораторной работы:
- Нормализация. Формы
- Функциональные зависимости. Виды
- Денормализация
- Язык PL/pgSQL
Лабораторная работа #4
Задание.
По варианту, выданному преподавателем, составить и выполнить запросы к базе данных "Учебный процесс".
Команда для подключения к базе данных ucheb:
psql -h pg -d ucheb
Отчёт по лабораторной работе должен содержать:
- Текст задания.
- Реализацию запросов на SQL.
- Планы выполнения запросов.
- Ответы на вопросы, представленные в задании.
- Выводы по работе.
Темы для подготовки к защите лабораторной работы:
- Индексы
- Оптимизация запросов
- Выбор плана выполнения запросов