
- •Введение
- •Анализ предметной области
- •Анализ сущностей и связей между ними
- •Составление требуемых запросов к базе данных
- •Анализ разрешений и запретов на операции с табличными данными для различных пользователей
- •Проектирование пользовательского интерфейса
- •Обработка данных
- •Заключение
- •Список литературы
- •Приложение 1 Листинг создания таблиц
- •Приложение 2 Листинг добавления данных в таблицы
Обработка данных
Выполняется обработка данных и визуализация результатов с помощью инструментов 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, с помощью которых можно наглядно проанализировать информацию, хранящуюся в информационной системе.