Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
6 сем / 1 / МиСПрИС_1374_1_Наволоцкий_Харитонов_Зырянов.docx
Скачиваний:
11
Добавлен:
29.03.2025
Размер:
3.55 Mб
Скачать

1. Описание выполненной работы

1.1. Введение

В этой работе представлен классификатор для работы с изделиями (товарами) дачной мебели с маркет-плейса Яндекс.маркет в связи с требованиями к реализации программы с помощью библиотеки типа sql "sqlite3", входящий в пакет языка программирования python3.

1.2. Анализ исходных данных

Для разработки концептуального проекта будем использовать редактор StarUML.

В качестве исходных данных используется источник

Яндекс.Маркет - https://market.yandex.ru/

Фрагмент классификатора представлен ниже:

Изделия

столы

металл

Стол arizone

Стол garden story

дерево

Стол эстер

Стол кентуки

стулья

пластик

Стул RAMBO

Стул Keter

металл

Стул arizone

Стул складной

кресла

кресло кокон

кресло m-group

кресло гамак

двухместное кресло

кресло gemini promob

кресло парящая кровать

Диаграмма классов для фрагмента предметной области представлена на рис. 1

1.3. Разработка функциональных требований к подсистеме

В директории UseCase Model создадим диаграмму вариантов использования с именем Работа с классификатором изделий.

На рис. 2 приведена диаграмма ВИ Работа с классификатором.

1.4. Разработка модели классов

Модель классов для ВИ Работа с классификатором представлена на рис. 3.

1.5. Разработка модели хранения в среде СУБД данных классификатора изделий

1.6.1. Разработка ERD

Первоначально опишем модель хранения в виде ERD. Для этого воспользуемся графическим редактором StarUML.

В данной диаграмме, чтобы использовать подкатегории существует поле id_parent, которое ссылается на прошлый класс категории. В первой (корневой) категории id_parent = null.

2. Создание базы данных

2.1. Создание новой базы данных

path = "C:/Users/admin/source/repos/UNIVERSITY_repos/3 course/6 sem/mispris/1/furniture.db"

conn = sqlite3.connect(path)

cursor = conn.cursor()

print("\n\nDB has been created/connected\n")

conn.execute("PRAGMA foreign_keys = ON")

def create_category_table():

cursor.execute('''CREATE TABLE IF NOT EXISTS category

(id INTEGER PRIMARY KEY AUTOINCREMENT,

id_parent INTEGER,

category_name TEXT UNIQUE,

FOREIGN KEY (id_parent) REFERENCES category(id))''')

conn.commit()

def create_product_table():

cursor.execute('''CREATE TABLE IF NOT EXISTS product

(id INTEGER PRIMARY KEY AUTOINCREMENT,

id_category INTEGER,

product_name TEXT NOT NULL,

quantity INTEGER DEFAULT 0,

price REAL DEFAULT 0,

FOREIGN KEY (id_category) REFERENCES category(id))''')

conn.commit()

def creating_tables():

create_category_table()

create_product_table()

creating_tables()

Соседние файлы в папке 1