- •Отчёт по лабораторным работам
- •Пояснительная записка
- •Введение
- •Лабораторная работа № 1 Проектирование базы данных с использованием er-технологии
- •Лабораторная работа № 2 Создание новой базы данных в среде PostgreSql
- •Лабораторная работа № 3 Создание и связывание таблиц базы данных в среде PostgreSql
- •Лабораторная работа № 4 Вставка, удаление и обновление данных
- •Лабораторная работа № 5 Работа с массивами и типами json
- •Лабораторная работа № 6 Создание запросов на выборку
- •Лабораторная работа № 7 Представления
- •Лабораторная работа № 8 Функции и процедуры
- •Лабораторная работа № 9 Транзакции
- •Лабораторная работа № 10 Курсоры
- •Лабораторная работа № 11 Триггеры
- •Заключение
- •Список использованной литературы
Лабораторная работа № 4 Вставка, удаление и обновление данных
В результате работы все созданные таблицы были заполнены согласованными данными. На рисунках 9- представлены запросы, позволяющие заполнить таблицы и результаты заполнения, полученные путем выборки с помощью оператора SELECT.
Рисунок
8 – Заполнение таблицы «Покупки»
Рисунок
9 – Результат заполнения таблицы
Рисунок
10 – Заполнение таблицы «Изменение цены»
Рисунок
11 – Результат заполнения таблицы
«Изменение цены»
Рисунок
12 – Заполнение таблицы «Детали»
Рисунок 13 – Результат заполнения таблицы
Рисунок
14 – Заполнение таблицы «Поставщики»
Рисунок
15 – Результат заполнения таблицы
В результате выполнения работы все созданные раннее таблицы были заполнены связанными данными.
Лабораторная работа № 5 Работа с массивами и типами json
Для ознакомления работы массивов и значений в формате JSON в PostgreSQL с созданной базой данных «Фирма по продаже запчастей» были совершены следующие действия: добавлена таблица со столбцом, содержащим массив значений и таблица со столбцом, содержащим значения в формате JSON. Далее с этими таблицами были произведены операции.
Сначала создана и заполнена таблица «Расписание». Она содержит массивы данных о рабочих днях для каждого поставщика.
Рисунок 16 – Создание таблицы «Расписание»
Рисунок 17 – Заполнение таблицы «Расписание»
Рисунок 18 – Результат заполнения таблицы «Расписание»
Далее была получена сводная таблица, в которой произведена замена ID поставщиков на их название используя оператор JOIN.
Рисунок 19 – Сводная таблица графиков работ каждого постащика
Далее были осуществлены различные операции с массивами:
Добавление еще одного рабочего дня БАНЗАЙ-АВТО с помощью операции конкатенации.
Рисунок 20 – Добавление значения с помощью операции конкатенации
Добавление еще одного рабочего дня АвтоЧасть с помощью функции array_append.
Рисунок 21 - Добавление значения с помощью функции array_append
У ЯПОНКА удален один день из графика.
Рисунок 22 – Удаление значения из массива
У АВТО-РАДУГА изменены дни работы, не меняя их количества.
Рисунок 23 – Запрос для изменения значений в массиве
Рисунок 24 – Результат изменения значений в массиве
Выведен список поставщиков, работающих в среду.
Рисунок 25 – Осуществление выборки значений по одному элементу массива
Выведен список поставщиков, работающих по понедельникам и воскресеньям. Таких поставщиков нет.
Рисунок 26 – Осуществление выборки значений по двум элементам массива
Выведен список поставщиков, работающих по вторникам и/или пятницам.
Рисунок 27 – Осуществление выборки значений по двум зависимым элементам массива
Выведен список поставщиков, кто не работает во вторник и в пятницу.
Рисунок 28 –Осуществление выборки значений по двум зависимым элементам массива с использованием отрицания
Развертывание массива дней работы в столбец для поставщика с ID равном 1.
Рисунок 34 – Представление массива в виде столбца
Далее создана таблица, содержащая столбец с JSON значениями. Получена специальная таблица, содержащая сведения о марках машин, которыми занимается поставщик.
Рисунок 35 – Создание таблицы «Марка»
Рисунок 36 – Результат заполнения таблицы
В результате заполнения таблицы порядок ключей не был сохранен. Далее осуществлены различные операции с данной таблицы.
Выбраны все поставщики, у кого среди марок имеется Mazda.
Рисунок 37 – Осуществление выборки из таблицы по одному значению JSON
Также был применен иной способ осуществления выборки.
Рисунок 38 - Осуществление выборки из таблицы по одному значению JSON
Осуществлен запрос по подсчету количества упоминания записей по несуществующему ключу. Получено нулевое значение.
Рисунок 39 – Результат осуществления запроса по несуществующему ключу
Создан запрос по подсчету количества упоминания записей по существующему ключу «marka». Получено количество записей 5.
Рисунок 40 – Результат осуществления запроса по существующему ключу
Далее было произведено обновление JSON-объектов.
АВТО-РАДУГА решил заниматься исключительно Kia.
Рисунок 41 – Изменение значений JSON-объекта
Рисунок 42 – Результат изменения объекта
Сотрудник АвтоЧасть решил добавить в список своих марок Haval. В результате получим запись, представленную на рисунке 42.
Рисунок 42 – Добавление значений в JSON-объект
