СР6
.docxМИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
федеральное государственное автономное образовательное учреждение
высшего образования
«НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ
ТОМСКИЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»
Инженерная школа новых производственных технологий
Направление подготовки: 12.03.02 Оптотехника
ООП: Оптико-электронные приборы и системы
САМОСТОЯТЕЛЬНАЯ РАБОТА №6
дисциплина "Основы программирования на Python"
Выполнила:
студентка группы
Проверил:
преподаватель _________________ В. Петровский
Томск - 2023
ЦЕЛЬ РАБОТЫ: обрести навыки работы с базами данных.
ЗАДАНИЕ: создать программу для работы с базой данных. База данных должна содержать не менее 5 связанных таблиц. Реализовать вывод данных из созданной базы данных, запросы должны выбирать данные из нескольких таблиц. Допускается данные для разрабатываемой базы данных сгенерировать с помощью модуля «random», либо использовать из сторонних источников. Применить ООП стиль программирования.
ХОД РАБОТЫ
Класс StoreDatabase:
__init__: инициализирует новый экземпляр класса StoreDatabase. Открывает соединение с базой данных SQLite с использованием указанного имени файла db_name. Создает курсор для выполнения SQL-команд.
create_tables: создает таблицы customers, products, categories, suppliers, и orders в базе данных, если они ещё не существуют. Использует SQL-команду CREATE TABLE IF NOT EXISTS для каждой таблицы.
populate_tables_with_data: заполняет таблицы тестовыми данными:
Использует цикл for, чтобы добавить несколько записей в таблицу customers, генерирует случайные возрастные значения и формирует адреса электронной почты.
Использует метод executemany для массовой вставки в таблицы products, categories, suppliers, orders.
get_data:
Выполняет SQL-запрос для выборки данных из базы, объединяя (JOIN) таблицы orders, customers, products для получения имени клиента, названия продукта, цены и даты заказа.
Полученные данные выводятся в консоль в цикле.
close_connection: закрывает соединение с базой данных.
Взаимодействие с базой данных:
Инициализация объекта базы данных db = StoreDatabase('магазин.db') запустит процесс взаимодействия:
Создание таблиц: db.create_tables() создает структуру базы данных.
Заполнение таблиц: db.populate_tables_with_data() заполняет базу данных начальными данными.
Получение и вывод данных: db.get_data() извлекает и отображает информацию из базы данных.
Закрытие соединения: db.close_connection() закрывает соединение с базой данных для освобождения ресурсов.
РЕЗУЛЬТАТЫ: в данной работе был реализован код, который реализует простейший пример работы с базой данных SQLite в Python через объектно-ориентированный подход, используя класс для взаимодействия с базой данных.
Также были получены навыки работы с изучение базовых SQL-операций (CREATE TABLE, INSERT, SELECT), понимание того, как создавать и управлять базами данных в Python, ознакомление с операциями Создания (Create), Чтения (Read), Обновления (Update) и Удаления (Delete) данных, лучшение понимания классов и объектов в Python, методов класса, инкапсуляции данных и методов, управление транзакциями в базе данных (commit, close), как использовать executemany для более эффективной вставки множества записей в базу данных.