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

СР6

.docx
Скачиваний:
1
Добавлен:
28.12.2023
Размер:
344.51 Кб
Скачать

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

федеральное государственное автономное образовательное учреждение

высшего образования

«НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ

ТОМСКИЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»

Инженерная школа новых производственных технологий

Направление подготовки: 12.03.02 Оптотехника

ООП: Оптико-электронные приборы и системы

САМОСТОЯТЕЛЬНАЯ РАБОТА №6

дисциплина "Основы программирования на Python"

Выполнила:

студентка группы

Проверил:

преподаватель _________________ В. Петровский

Томск - 2023

ЦЕЛЬ РАБОТЫ: обрести навыки работы с базами данных.

ЗАДАНИЕ: создать программу для работы с базой данных. База данных должна содержать не менее 5 связанных таблиц. Реализовать вывод данных из созданной базы данных, запросы должны выбирать данные из нескольких таблиц. Допускается данные для разрабатываемой базы данных сгенерировать с помощью модуля «random», либо использовать из сторонних источников. Применить ООП стиль программирования.

ХОД РАБОТЫ

  1. Класс 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: закрывает соединение с базой данных.

  1. Взаимодействие с базой данных:

Инициализация объекта базы данных 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 для более эффективной вставки множества записей в базу данных.

Соседние файлы в предмете Основы программирования