- •Отчёт по лабораторным работам
- •Пояснительная записка
- •Введение
- •Лабораторная работа № 1 Проектирование базы данных с использованием er-технологии
- •Лабораторная работа № 2 Создание новой базы данных в среде PostgreSql
- •Лабораторная работа № 3 Создание и связывание таблиц базы данных в среде PostgreSql
- •Лабораторная работа № 4 Вставка, удаление и обновление данных
- •Лабораторная работа № 5 Работа с массивами и типами json
- •Лабораторная работа № 6 Создание запросов на выборку
- •Лабораторная работа № 7 Представления
- •Лабораторная работа № 8 Функции и процедуры
- •Лабораторная работа № 9 Транзакции
- •Лабораторная работа № 10 Курсоры
- •Лабораторная работа № 11 Триггеры
- •Заключение
- •Список использованной литературы
Лабораторная работа № 7 Представления
В данной работе необходимо создать несколько простых и материализованных представлений и включить в базу данных, а также сформировать запросы к этим представлениям.
Представления иногда называют «виртуальными таблицами». Это связано с тем, что представление для пользователя выглядит как таблица, но фактически не хранит данных, а извлекает их из других таблиц в момент обращения.
Создано представление «number_» на основе таблицы «Поставщики», которое отражает общее количество заказов, сделанных каждым заказчиком.
Рисунок 66 – Создание представления
Обращение к представлению «number_» представлено на рисунке 67.
Рисунок
67 – Обращение к представлению
Создано материализованное представление «buy_view» на основе таблицы «buy», которое содержит количество деталей от поставщиков. Материализованное представление похоже на обычную таблицу. Однако оно отличается от таблицы тем, что не только сохраняет данные, но также запоминает запрос, с помощью которого эти данные были собраны.
Рисунок 68 – Создание представления
Рисунок 69 - Обращение к представлению
Лабораторная работа № 8 Функции и процедуры
Для базы данных необходим набор хранимых функций или процедур, обеспечивающий выборку, вставку, модификацию и удаление данных для всех таблиц. Создадим набор процедур для таблицы «Поставщики».
Функция для добавления новой транзакции. Эта функция позволяет добавлять новых поставщиков.
Рисунок
74 – Создание функции добавления новой
транзакции
Рисунок
75 – Вызов функции «ДобавитьПоставщика»
Процедура для обновления данных. Эта процедура позволит обновлять информацию о транзакции по её коду. Мы будем использовать параметры для обновления различных полей.
Рисунок
76 – Создание процедуры обновления
транзакции
Рисунок 77 – Вызов процедуры обновления данных
Процедура для удаления данных. Эта процедура позволит удалять запись о транзакции по её коду.
Рисунок 78 – Процедура удаления транзакции
Рисунок 79 – Вызов процедуры удаления данных
Лабораторная работа № 9 Транзакции
Необходимо для созданной базы данных создать транзакцию с точкой сохранения в режиме явных транзакций, произвести откат к точке сохранения и фиксацию. Осуществление всех операций представлено на рисунках 80 – 82.
Рисунок
80 – Создание транзакции
Рисунок
81 – Запрос к таблице, с которой
взаимодействовала транзакция
Рисунок 82 – Результат выполнения
транзакции
Лабораторная работа № 10 Курсоры
Необходимо для созданной базы данных решить несколько задач с использованием курсоров, включив курсор в хранимую процедуру или функцию.
Использование курсора в транзакции получение первых двух записей через курсор.
Рисунок
83 – Использование курсора
Рисунок 86 – Вызов процедуры с передачей второго параметра
Создана таблица для хранения данных о деталях, сделанных в 2023 году. Далее создана хранимая процедура, которая копирует данные из таблицы «Покупки» в новую таблицу «2023 год» для всех записей с датой пополнения в 2023 года.
Рисунок
87 – Создание таблицы
Рисунок 88 – Создание процедуры для
копирования данных
Далее вызвана функцию и сделана выборка таблицы «2023 год». Результаты представлены на рисунке 90.
Рисунок
89 – Вызов процедуры
Рисунок
90 – Результат вызова процедуры
