Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

БД_Лаба_4-1

.docx
Скачиваний:
4
Добавлен:
18.12.2019
Размер:
118.78 Кб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

Федеральное государственное автономное образовательное учреждение высшего образования

«САНКТ-ПЕТЕРБУРГСКИЙ УНИВЕРСИТЕТ АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ»

КАФЕДРА № 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 и отобразил полученные данные ввиду графиков

Список использованных источников

              1. Преснякова Г.В., Шахомиров А.В. Проектирование реляционных баз данных: учебное пособие. СПб.: ГУАП, 2015. 125с.

              2. Карчевский Е.М., Филиппов И.Е., Филиппова И.А. Access 2010 в примерах: учебное пособие. Казань: Казанский университет, 2012. 140с.

Соседние файлы в предмете Базы данных