Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
6сем / курсовая_Жовтяк_4016.docx
Скачиваний:
6
Добавлен:
27.08.2024
Размер:
1.02 Mб
Скачать
  1. Обработка данных

Выполняется обработка данных и визуализация результатов с помощью инструментов Excel и языка программирования Python.

База данных была экспортирована в Excel, после чего для визуализации выбрана таблица «my_library». На рисунке 28 показан график продаж библиотеки [1].

Рисунок 28 – График продажи библиотеки

C помощью этого графика можно оценить продажи библиотеки в определённом промежутке.

Был написан код подключения языка программирования Python к Workbench. Код подключения представлен в листинге 28.

Листинг 28 – Код подключения

import pandas as pd

import pymysql.cursors

import matplotlib.pyplot as plt

def db_return(connection, sql):

with connection.cursor() as cursor:

cursor.execute(sql)

rows = cursor.fetchall()

df = pd.DataFrame(rows)

connection.close()

return df

connection = pymysql.connect(host='127.0.0.1',

user='root',

password='hellokitty',

db='my_library',

charset='utf8mb4',

cursorclass=pymysql.cursors.DictCursor)

Был написан код для обработки данных и визуализации графика о выручке от каждой книги. Реализация представлена в листинге 29, результат на рисунке 29.

Листинг 29 – Код обработки по выручке каждой книги

sql1 = "SELECT books.title_book as 'Название книги',\

appeals.total as 'Выручка' \

FROM appeals, books \

WHERE appeals.id_book = books.id_book \

GROUP BY title_book;"

df = db_return(connection, sql1)

plt.figure()

plt.tick_params(axis='x', rotation=90)

plt.bar(df['Название книги'], df['Выручка'])

plt.xlabel('Название книг')

plt.ylabel('Выручка в рублях')

plt.title('Выручка каждой книги')

plt.show()

connection.ping()

Рисунок 29 – График о выручке от каждой книги

С помощью этого графика можно оценить, какая книга пользуется большей популярностью, и которую можно было бы закупить.

Был написан код для обработки данных и визуализации диаграммы о выручке по читателям в процентах. Реализация представлена в листинге 30, результат на рисунке 30.

Листинг 30 – Код обработки о выручке по читателям в процентах

sql3 = "SELECT readers.reader_FIO as 'Имя человека', \

appeals.total as 'Выручка' \

FROM appeals, readers \

WHERE readers.id_reader = appeals.id_reader \

GROUP BY readers.reader_FIO;"

df = db_return(connection, sql3)

plt.figure()

plt.pie(df['Выручка'], labels=df['Имя человека'], autopct='%1.2f%%')

plt.title('Выручка по клиентам в %')

plt.show()

Рисунок 30 – Диаграмма выручки по клиентам

С помощью этого графика можно найти, какой клиенты могут быть постоянными и которым можно выдать постоянную скидку.

Заключение

С помощью средств MySQL была спроектирована полноценная информационная система для библиотеки. Такая информационная система значительно облегчила бы работу для её сотрудников.

Были выполнены анализ предметной области, анализ сущностей и связей и сама проектировка базы данных. Также были созданы запросы для работы, которые упрощают работу с базой данных. С информационной системой могут работать пользователи с различным уровнем привилегий. Вдобавок был создан пользовательский интерфейс, а именно: пользовательские процедуры ранее созданных запросов, триггеры и назначение привилегий. База данных была визуализирована с помощью средств Excel и Python, с помощью которых можно наглядно проанализировать информацию, хранящуюся в информационной системе.

Соседние файлы в папке 6сем