БД_Лаба_4-1
.docxМИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное автономное образовательное учреждение высшего образования
«САНКТ-ПЕТЕРБУРГСКИЙ УНИВЕРСИТЕТ АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ»
КАФЕДРА № 41
ОТЧЕТ ЗАЩИЩЕН С ОЦЕНКОЙ
ПРЕПОДАВАТЕЛЬ
ассистент |
|
|
|
Иванова М.С |
должность, уч. степень, звание |
|
подпись, дата |
|
инициалы, фамилия |
ОТЧЕТ О ЛАБОРАТОРНОЙ РАБОТЕ №4 |
Связь Access→ Workbench→ Python. |
по курсу: База данных |
|
|
РАБОТУ ВЫПОЛНИЛ
СТУДЕНТ ГР. № |
4616 |
|
|
|
А.В.Павлов |
|
|
|
подпись, дата |
|
инициалы, фамилия |
Санкт-Петербург 2019
Цель работы: освоить методику переноса данных из Access в другие приложения. Научиться переносить данные в 2 и более приложений.
Экспортирую таблицу Время из MS Access в базу данных mysql и подключаю ее в python
Листинг
import mysql.connector
import matplotlib.pyplot as plt
import numpy as np
conn = mysql.connector.connect(
user = 'root',
password = '',
host = '127.0.0.1',
database = 'Test')
cur = conn.cursor()
def qr_1():
query = ("SELECT Avg(время_select), Avg(время_insert) FROM Время")
cur.execute(query)
for (col1, col2,) in cur:
print("{}, {}".format(col1, col2))
fig, ax = plt.subplots()
ax.bar(1,col1)
ax.bar(2, col2)
ind = np.arange(1, 3)
ax.set_xticks(ind)
ax.set_ylabel('Среднее время выполнения')
ax.set_xticklabels(['Select', 'Insert'])
plt.show()
cur.close()
conn.close()
#qr_1()
def qr_2():
query = ("SELECT количество_записей,(время_select),(время_insert) FROM Время")
cur.execute(query)
num=[]
ins=[]
sel=[]
for (col1, col2,col3) in cur:
print("{}, {}, {}".format(col1, col2, col3))
num.append(col1)
sel.append(col2)
ins.append(col3)
plt.plot(num,sel[::-1],lw=5,label='Select')
plt.plot(num,ins,lw=5,label='Insert')
plt.grid()
plt.legend(loc=1)
plt.show()
cur.close()
conn.close()
#qr_2()
def qr_3():
query = ("SELECT количество_записей,(время_select),(время_insert) FROM Время")
cur.execute(query)
num=[]
ins=[]
sel=[]
for (col1, col2,col3) in cur:
print("{}, {}, {}".format(col1, col2, col3))
num.append(col1)
sel.append(col2)
ins.append(col3)
fig, ax = plt.subplots()
for i in range(len(sel)):
ax.bar(i,ins[i],color='yellow',alpha=0.5,label='insert')
ax.bar(i, sel[i],color='blue',alpha=0.5,label='select')
ind = np.arange(0, 4)
ax.set_xticks(ind)
ax.set_ylabel('Среднее время выполнения')
ax.set_xticklabels(['50000', '100000', '250000', '500000'])
plt.show()
cur.close()
conn.close()
qr_1()
Рисунок 1 – Результат запроса №1
Рисунок 1 - Результат запроса №1
Рисунок 2 – Результат запроса № 2№
Рисунок 3 – Результат запроса №3
Вывод: В ходе лабораторной работе я подключил базу данных mysql в python. Сделал запросы через язык sql и отобразил полученные данные ввиду графиков
Список использованных источников
-
Преснякова Г.В., Шахомиров А.В. Проектирование реляционных баз данных: учебное пособие. СПб.: ГУАП, 2015. 125с.
-
Карчевский Е.М., Филиппов И.Е., Филиппова И.А. Access 2010 в примерах: учебное пособие. Казань: Казанский университет, 2012. 140с.