БД_Лаба_2-1
.docxМИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное автономное образовательное учреждение высшего образования
«САНКТ-ПЕТЕРБУРГСКИЙ УНИВЕРСИТЕТ АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ»
КАФЕДРА № 41
ОТЧЕТ ЗАЩИЩЕН С ОЦЕНКОЙ
ПРЕПОДАВАТЕЛЬ
ассистент |
|
|
|
Иванова М.С |
должность, уч. степень, звание |
|
подпись, дата |
|
инициалы, фамилия |
ОТЧЕТ О ЛАБОРАТОРНОЙ РАБОТЕ №2 |
Связь Access с Python. |
по курсу: База данных |
|
|
РАБОТУ ВЫПОЛНИЛ
СТУДЕНТ ГР. № |
4616 |
|
|
|
А.В.Павлов |
|
|
|
подпись, дата |
|
инициалы, фамилия |
Санкт-Петербург 2019
Цель работы: освоить методику переноса данных из Access в
другие приложения. Обработка статистических данных в Python
С помощью ODBC подключаем нашу базу данных и конектим ее с питон. Для питона устанавливаем библиотеку pyodbc и пишем код для обработке данных
Листинг
import pyodbc
import matplotlib.pyplot as plt
# Specifying the ODBC driver, server name, database, etc. directly
#cnxn = pyodbc.connect('DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};UID=admin;UserCommitSync=Yes;Threads=3;SafeTransactions=0;PageTimeout=5;MaxScanRows=8;MaxBufferSize=2048;FIL={MS Access};DriverId=25;DefaultDir=C:\;DBQ=C:\2.accdb')
cnxn = pyodbc.connect('DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=C:/2.accdb;')
#cnxn = pyodbc.connect('DSN=admin;PWD=')
# Create a cursor from the connection
cursor = cnxn.cursor()
cursor.execute("select количество_записей, время_select,время_insert from [Копия Время]")
row = cursor.fetchone()
select_sort=[]
insert_sort=[]
num=[50000,100000,250000,500000]
for row in cursor:
select_sort.append(row.время_select)
insert_sort.append(row.время_insert)
cursor.execute("select количество_записей, время_select,время_insert from [Время]")
row = cursor.fetchone()
select=[]
insert=[]
for row in cursor:
select.append(row.время_select)
insert.append(row.время_insert)
plt.plot(num,insert_sort,label='sort')
plt.plot(num,insert,label='Обычное')
plt.grid()
plt.legend(loc=1)
plt.show()
plt.plot(num,select_sort,label='sort')
plt.plot(num,select,label='Обычное')
plt.grid()
plt.legend(loc=1)
plt.show()
Рисунок 1 – Полученные рисунки для insert и select
Рисунок 2 – Среднее время выполнения
Вывод: В ходе лабораторной работе я связал базу данных с python. И проанализировал полученные данные.
Из графиков видно что данные, которые были записаны в таблицу с сортировкой имеют большую скорость, в сравнении с обычным способом. Особенно это заметно для больших кол. записей. Также сортированный имеет select большую скорость в сравнении с обычным.
Список использованных источников
-
Преснякова Г.В., Шахомиров А.В. Проектирование реляционных баз данных: учебное пособие. СПб.: ГУАП, 2015. 125с.
-
Карчевский Е.М., Филиппов И.Е., Филиппова И.А. Access 2010 в примерах: учебное пособие. Казань: Казанский университет, 2012. 140с.