ГУАП
КАФЕДРА № 41
ОТЧЕТ ЗАЩИЩЕН С ОЦЕНКОЙ
ПРЕПОДАВАТЕЛЬ
ассистент |
|
|
|
В.В. Боженко |
|
|
|
|
|
|
|
|
|
|
должность, уч. степень, звание |
|
подпись, дата |
|
инициалы, фамилия |
ОТЧЕТ О ЛАБОРАТОРНОЙ РАБОТЕ №8
ВИЗУАЛИЗАЦИЯ ДАННЫХ ИЗ СУБД POSTGRESQL В PYTHON
по курсу: БАЗЫ ДАННЫХ
РАБОТУ ВЫПОЛНИЛ
СТУДЕНТ ГР. №
подпись, дата |
|
инициалы, фамилия |
Санкт-Петербург 2022
Цель работы
Произвести связь базы данных в PostgreSQL и Python, изучить операции по манипулированию с данными БД, выполнить анализ данных в БД с помощью визуализации в Python.
Индивидуальный вариант
Индивидуальный вариант №10
Формулировка запросов:
1По оси х – название отдела, по оси у – количество сотрудников.
2Найти количество сотрудников, в должности которых фигурирует слово «Manager»; найти количество сотрудников, в должности которых фигурирует «Clerk»; найти количество сотрудников, в должности которых фигурирует «President»; построить гистограмму с 4 столбцами (Manager, Clerk, President, Other), по оси у – средняя зарплата сотрудников по каждой группе.
3Выполнить модификацию первых двух графиков:
3.1Сделать гистограмму горизонтальной (поменять х и у), изменить
цвета;
3.2Создать процедуру/функцию, которая позволит строить графики для любого числа в условии;
3.3Построить любой график, используя locations
Исходные данные
Схема дынных БД «students» в соответствии с рисунком 1.
Рисунок 1 – Схема данных
2
Ход работы
1) Осуществили связь Python и БД в PostgreSQL и выполнили простой запрос на выборку всех данных из таблицы «jobs» для проверки соединения в соответствии с рисунком 2. Код всех пунктов находится в Приложении А.
Рисунок 2 – Результат соединения и запроса в БД PostgreSQL из кода Python
3
2)Выполнили запросы в соответствии с индивидуальным вариантом
ипостроили графики по результатам этих запросов в Python.
Первый запрос находит количество сотрудников по отделам. Код запроса и создания графика, а также результат запроса и график в соответствии с рисунком 3.
Рисунок 3 – Код, график и результат первого запроса
4
Второй запрос находит отдельно количество сотрудников, в должности которых фигурируют слова «Manager», «Clerk», «President» и остальных сотрудников. Затем построили гистограмму с 4 столбцами (Manager, Clerk, President, Other), по оси у – средняя зарплата сотрудников по каждой группе.
Код запроса и создания графика, а также результат запроса и график в соответствии с рисунком 4.
Рисунок 4 – Код, график и результат второго запроса
5
3)Выполнили модификацию первых двух графиков:
Cделали гистограмму горизонтальной и изменили цвета, результат модификации в соответствии с рисунками 5-6.
Рисунок 5 – Модифицированный график первого запроса
Рисунок 6 – Модифицированный график второго запроса
6
Добавили условие – в первом запросе выводить не все отделы, а только отделы, где количество сотрудников принадлежит определенному диапазону.
Измененный первый запрос добавили в функцию fn_worker_in_cnt_range. Код создания в соответствии с рисунком 7.
Рисунок 7 – Код создания функций fn_worker_in_cnt_range
Вызвали функцию fn_worker_in_cnt_range из кода Python в соответствии с рисунком 8.
Рисунок 8 – Результаты вызова функций fn_worker_in_cnt_range
7
Нарисовали график для результата функции fn_worker_in_cnt_range. Код для отображения графика и сам график в соответствии с рисунком 9.
Рисунок 9 – Результаты вызова функций fn_worker_in_cnt_range
Добавили условие – во второй запрос выводить не все категории, а
категории, где средние заработные платы принадлежат определенному диапазону. Измененный второй запрос добавили в функцию fn_worker_in_cnt_range. Код создания в соответствии с рисунком 10.
Рисунок 10 – Код создания функций fn_worker_in_salary_range
8
Вызвали функцию fn_worker_in_salary_range из кода Python в
соответствии с рисунком 11.
Рисунок 11 – Результаты вызова функций fn_worker_in_salary_range
Нарисовали график для результата функции fn_worker_in_salary_range.
Код для отображения графика и сам график в соответствии с рисунком 12.
Рисунок 12 – Результаты вызова функций fn_worker_in_salary_range
9
Выполнил запрос с использованием таблицы locations. Запрос находит среднюю зарплату сотрудников по городам. Поданным запроса построил гистограмму. Код, результат запроса и его график в соответствии с рисунком 13.
Рисунок 13 – Запрос, его результат и график
10