КурсоваяБазы данныхГод: 2025Синергия: Московский финансово-промышленный университет «Синергия»
👁 12💼 0

Готовая курсовая: БД и чат-бот для Sokol Coffee

Загружена: 09.02.2026 11:58

Проект посвящен разработке базы данных и серверных компонентов для чат-бота продаж кофейни Sokol Coffee. Описаны ER-модель, логическая и физическая модели, SQL-скрипты, хранимые процедуры, триггеры и администрирование. Практическая ценность — готовая структура и набор скриптов для быстрой автоматизации приёма заказов и управления доставкой.

Содержание

ВВЕДЕНИЕ	3
ГЛАВА 1. ПРОЕКТИРОВАНИЕ БАЗЫ ДАННЫХ	5
1.1. Анализ предметной области	5
1.2. Инфологическое проектирование	7
1.3. Построение логической модели базы данных	11
1.4. Построение физической модели базы данных	13
ГЛАВА 2. ПРОЕКТИРОВАНИЕ SQL-ЗАПРОСОВ	15
ГЛАВА 3. ПРОЕКТИРОВАНИЕ СЕРВЕРНОГО ПРИЛОЖЕНИЯ: ХРАНИМЫЕ ПРОЦЕДУРЫ, ФУНКЦИИ, ТРИГГЕРЫ	19
ГЛАВА 4. АДМИНИСТРИРОВАНИЕ БАЗЫ ДАННЫХ	23
ЗАКЛЮЧЕНИЕ	25
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ	28
ПРИЛОЖЕНИЯ	32

Введение

В условиях цифровой трансформации бизнеса автоматизация ключевых процессов становится неотъемлемым элементом конкурентоспособности. Для предприятий сферы общественного питания, таких как кофейни и рестораны, оптимизация продаж и взаимодействия с клиентами напрямую влияет на скорость обслуживания, качество сервиса и лояльность аудитории. Торговая организация «Sokol Coffee», как участник динамичного рынка, сталкивается с необходимостью сокращения издержек, минимизации человеческих ошибок и повышения удобства для покупателей. Внедрение цифровых решений, таких как чат-боты, позволяет не только соответствовать современным трендам, но и создавать персонализированный опыт для клиентов, что особенно актуально в эпоху доминирования онлайн-заказов и мгновенного доступа к услугам.
Практическая значимость исследования заключается в разработке инструмента, который интегрирует управление заказами, обработку данных клиентов и логистику доставки в единую систему. Для «Sokol Coffee» это означает возможность снижения операционной нагрузки на сотрудников, сокращения времени формирования заказов и повышения точности их исполнения. Автоматизация через чат-бота также открывает доступ к аналитике в реальном времени, что способствует принятию обоснованных управленческих решений. Для клиентов система упрощает взаимодействие с компанией: просмотр меню, оформление доставки и отслеживание статуса заказа становятся доступными в несколько кликов, что соответствует ожиданиям современного потребителя.
Целью работы является проектирование и реализация базы данных для чат-бота, автоматизирующего процесс продаж в «Sokol Coffee». Для достижения поставленной цели решаются следующие задачи:
Анализ существующих бизнес-процессов компании и выявление узких мест, требующих автоматизации.
Проектирование структуры базы данных, обеспечивающей хранение информации о товарах, клиентах, заказах и доставках.
Разработка функционала чат-бота с интеграцией в мессенджеры, включая обработку запросов пользователей, формирование заказов и взаимодействие с платежными системами.
Тестирование системы на соответствие требованиям производительности, безопасности и удобства использования.
Объектом исследования выступает процесс продаж в торговой организации «Sokol Coffee», включая этапы от выбора товара клиентом до выполнения заказа. Предметом исследования является автоматизация данного процесса через создание специализированного чат-бота, взаимодействующего с реляционной базой данных.
В работе применяются методы анализа требований к системе, моделирования данных (ER-диаграммы).
Результаты исследования могут быть адаптированы для других предприятий малого и среднего бизнеса, что подчеркивает универсальность предложенного подхода. Внедрение системы в «Sokol Coffee» не только демонстрирует практическую ценность автоматизации, но и служит примером цифровизации традиционных бизнес-моделей в условиях растущей конкуренции.
Таким образом, работа вносит вклад в развитие методов управления базами данных, ориентированных на повышение эффективности клиентского сервиса, и подтверждает роль автоматизации как ключевого фактора успеха в современной розничной торговле.

Заключение

В рамках курсового проекта была успешно разработана система управления базой данных для чат-бота, автоматизирующего процесс продаж в «Sokol Coffee. Проект охватывает все ключевые аспекты проектирования и администрирования баз данных, включая создание структуры базы данных, реализацию SQL-запросов, разработку хранимых процедур, триггеров и функций, а также настройку стратегий безопасности и резервного копирования. Работа выполнялась в соответствии с требованиями предметной области, что обеспечило простоту использования, надежность и масштабируемость системы.
На этапе проектирования была создана структура базы данных, включающая такие таблицы, как «Клиенты», «Заказы», ​​«Продукты», «Сотрудники» и «Поставка». Каждая таблица проектировалась с учетом нормализации и целостности данных. Для оптимизации производительности были созданы индексы по таким ключевым полям, как OrderID, ClientID, EmployeeID и Category. Это значительно повысило скорость выполнения запросов, особенно при работе с большими объемами данных. Анализ предметной области показал, что выбранная структура полностью соответствует требованиям и позволяет эффективно управлять данными.
Были реализованы различные типы SQL-запросов, включая простые выборки, агрегатные функции, группировки, вычисляемые поля и запросы с использованием табличных соединений. Например, запросы позволяют вычислять общую сумму заказа для каждого клиента, подсчитывать количество сотрудников по ролям и получать информацию о доставке вместе с ответственными сотрудниками. Также были созданы запросы на добавление, обновление и удаление данных, что обеспечивает полный контроль над содержимым базы данных. Была разработана отдельная страница для отображения результатов ключевых запросов, что упрощает анализ данных и управление системой.
Серверное приложение было улучшено хранимыми процедурами, функциями и триггерами, которые автоматизируют часто выполняемые операции и повышают производительность системы. Например, хранимая процедура AddOrder позволяет добавлять новые заказы с помощью транзакций, обеспечивая целостность данных. Функция GetTotalSpentByClient вычисляет общую сумму заказа для указанного клиента, упрощая финансовый анализ. Такие триггеры, как UpdateDeliveryStatus и LogOrderDeletion, автоматически реагируют на события и выполняют дополнительные действия, такие как обновление статуса доставки или регистрация удалений. Эти объекты значительно повышают удобство использования базы данных и минимизируют риск ошибок.
На этапе администрирования были созданы роли пользователей (Администратор, Менеджер, Курьер) с четко определенными правами доступа. Это позволяет разделить ответственность между пользователями и предотвратить несанкционированный доступ. Для повышения безопасности была реализована система авторизации с использованием логинов и паролей. Была настроена стратегия резервного копирования, включающая регулярное полное и инкрементальное резервное копирование. Тестирование подтвердило, что базу данных можно успешно восстановить из резервных копий. Также были реализованы дополнительные меры безопасности, такие как шифрование данных, ограничение доступа по IP и ведение журнала операций.
Все поставленные задачи были успешно выполнены. Созданная база данных и серверное приложение представляют собой эффективное решение для управления информацией в предметной области. Однако есть несколько областей для улучшения. Некоторые хранимые процедуры, такие как CalculateDeliveryCost, можно перенести в клиентское приложение, чтобы снизить нагрузку на сервер. По мере роста количества записей в таблицах время выполнения запросов может увеличиться. Для оптимизации производительности можно добавить дополнительные индексы или пересмотреть планы выполнения запросов. В будущем функциональность системы может быть расширена за счет добавления новых таблиц (например, для отзывов клиентов) и реализации более сложных аналитических запросов.
Проект имеет значительный потенциал для дальнейшего развития. Будущие улучшения могут включать добавление аналитического модуля для визуализации данных (например, не только с помощью Chart.js, но также и экспорт в PDF формат для составления реальных отчетов), реализацию API для интеграции с мобильными приложениями, внедрение системы уведомлений для клиентов и сотрудников (например, по электронной почте или SMS), а также расширение функционала триггеров и хранимых процедур для автоматизации новых операций.
В целом работа была выполнена на высоком уровне. Все этапы проектирования, разработки и администрирования были реализованы в соответствии с требованиями. Система демонстрирует высокую производительность, надежность и простоту использования. Она готова к развертыванию в реальных условиях и легко адаптируется под новые задачи.
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
Грекул, В. И.  Проектирование информационных систем : учебник и практикум для среднего профессионального образования / В. И. Грекул, Н. Л. Коровкина, Г. А. Левочкина. — 2-е изд. — Москва : Издательство Юрайт, 2023. — 423 с. — (Профессиональное образование). — ISBN 978-5-534-17836-4. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/533817
Д. В. Чистов, П. П. Мельников, А. В. Золотарюк, Н. Б. Ничепорук. Проектирование информационных систем: учебник и практикум для среднего профессионального образования— 2-е изд., перераб. и доп.— Москва Издательство Юрайт, 2023.— 293с.— (Профессиональное образование). — ISBN 978-5-534-16217-2. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/530635
Григорьев, М. В. Проектирование информационных систем : учебное пособие для среднего профессионального образования / М. В. Григорьев, И. И. Григорьева. — Москва : Издательство Юрайт, 2022. — 318 с. — (Профессиональное образование). — ISBN 978-5-534-12105-6. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/496197
Зараменских, Е. П. Информационные системы: управление жизненным циклом : учебник и практикум для среднего профессионального образования / Е. П. Зараменских. — 2-е изд., перераб. и доп. — Москва: Издательство Юрайт, 2023. — 497 с. — (Профессиональное образование). — ISBN 978-5-534-16179-3. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/530571
Нетесова, О. Ю.  Информационные системы в экономике : учебное пособие для среднего профессионального образования / О. Ю. Нетесова. — 5-е изд., испр. и доп. — Москва : Издательство Юрайт, 2024. — 152 с. — (Профессиональное образование). — ISBN 978-5-534-20212-0. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/557803
Стружкин, Н. П. Базы данных: проектирование : учебник для среднего профессионального образования / Н. П. Стружкин, В. В. Годин. — Москва : Издательство Юрайт, 2023. — 477 с. — (Профессиональное образование). — ISBN 978-5-534-11635-9. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/518499
Советов, Б. Я.  Базы данных : учебник для среднего профессионального образования / Б. Я. Советов, В. В. Цехановский, В. Д. Чертовской. — 4-е изд., перераб. и доп. — Москва : Издательство Юрайт, 2024. — 403 с. — (Профессиональное образование). — ISBN 978-5-534-18784-7. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/545704
Кудрявцев, В. Б.  Интеллектуальные системы : учебник и практикум для среднего профессионального образования / В. Б. Кудрявцев, Э. Э. Гасанов, А. С. Подколзин. — 2-е изд., испр. и доп. — Москва : Издательство Юрайт, 2024. — 165 с. — (Профессиональное образование). — ISBN 978-5-534-12968-7. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/542810
Управление проектами. It-технологии : учебное пособие для среднего профессионального образования / В. Е. Гвоздев [и др.]. — 2-е изд. — Москва : Издательство Юрайт, 2025. — 167 с. — (Профессиональное образование). — ISBN 978-5-534-20796-5. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/558795
Системы управления технологическими процессами и   информационные технологии : учебное пособие для среднего  профессионального образования / В. В. Троценко, В. К. Федоров, А. И. Забудский, В. В. Комендантов. — 2-е изд., испр. и доп. — Москва : Издательство Юрайт, 2024. — 136 с. — (Профессиональное образование). — ISBN 978-5-534-09939-3. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/539749 (дата обращения: 18.12.2024).
Богатырев, В. А.  Надежность информационных систем : учебное пособие для среднего профессионального образования / В. А. Богатырев. — 2-е изд. — Москва : Издательство Юрайт, 2024. — 366 с. — (Профессиональное образование). — ISBN 978-5-534-18930-8. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/555113
Зыков, С. В.  Объектно-ориентированное программирование : учебник и практикум для вузов / С. В. Зыков. — 2-е изд. — Москва : Издательство Юрайт, 2024. — 151 с. — (Высшее образование). — ISBN 978-5-534-16941-6. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/537385
Лаврищева, Е. М.  Программная инженерия и технологии программирования сложных систем : учебник для вузов / Е. М. Лаврищева. — 2-е изд., испр. и доп. — Москва : Издательство Юрайт, 2023. — 432 с. — (Высшее образование). — ISBN 978-5-534-07604-2. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/513067
Илюшечкин, В. М.  Основы использования и проектирования баз данных : учебник для среднего профессионального образования / В. М. Илюшечкин. — Москва : Издательство Юрайт, 2024. — 213 с. — (Профессиональное образование). — ISBN 978-5-534-01283-5. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/538545
Маркин, А. В.  Программирование на SQL : учебник и практикум для вузов / А. В. Маркин. — 3-е изд., перераб. и доп. — Москва : Издательство Юрайт, 2024. — 805 с. — (Высшее образование). — ISBN 978-5-534-18371-9. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/534873
ПРИЛОЖЕНИЯ
tables.sql
-- Создание таблицы Clients
CREATE TABLE Clients (
ClientID INTEGER PRIMARY KEY AUTOINCREMENT,
Name VARCHAR(50) NOT NULL,
Phone VARCHAR(15) NOT NULL UNIQUE,
Address VARCHAR(100),
INDEX (Phone)
);
-- Создание таблицы Products
CREATE TABLE Products (
ProductID INTEGER PRIMARY KEY AUTOINCREMENT,
Name VARCHAR(50) NOT NULL,
Description VARCHAR(200),
Category VARCHAR(20) CHECK(Category IN ('Напиток', 'Десерт')),
Price DECIMAL(10, 2) CHECK(Price > 0),
Stock INTEGER CHECK(Stock BETWEEN 0 AND 1000),
INDEX (Category)
);
-- Создание таблицы Orders
CREATE TABLE Orders (
OrderID INTEGER PRIMARY KEY AUTOINCREMENT,
ClientID INTEGER NOT NULL,
OrderDate DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
Status VARCHAR(20) CHECK(Status IN ('Новый', 'Готовится', 'В пути', 'Доставлен')),
TotalAmount DECIMAL(10, 2) CHECK(TotalAmount > 0),
FOREIGN KEY (ClientID) REFERENCES Clients(ClientID) ON DELETE CASCADE,
INDEX (OrderDate)
);
-- Создание таблицы Delivery
CREATE TABLE Delivery (
DeliveryID INTEGER PRIMARY KEY AUTOINCREMENT,
OrderID INTEGER NOT NULL UNIQUE,
DeliveryAddress VARCHAR(100) NOT NULL,
TimeWindow VARCHAR(20) CHECK(TimeWindow IN ('10:00-12:00', '14:00-16:00')),
EmployeeID INTEGER NOT NULL,
DeliveryStatus VARCHAR(20) CHECK(DeliveryStatus IN ('В обработке', 'В пути', 'Завершена')),
DeliveryCost DECIMAL(10, 2) CHECK(DeliveryCost > 0),
FOREIGN KEY (OrderID) REFERENCES Orders(OrderID) ON DELETE CASCADE,
FOREIGN KEY (EmployeeID) REFERENCES Employees(EmployeeID) ON DELETE SET NULL,
INDEX (DeliveryStatus)
);
-- Создание таблицы Employees
CREATE TABLE Employees (
EmployeeID INTEGER PRIMARY KEY AUTOINCREMENT,
FullName VARCHAR(50) NOT NULL,
Role VARCHAR(30) CHECK(Role IN ('Курьер', 'Бариста', 'Администратор')),
Phone VARCHAR(15) NOT NULL UNIQUE,
Email VARCHAR(50) UNIQUE,
WorkSchedule VARCHAR(50),
IsActive BOOLEAN DEFAULT TRUE,
INDEX (Role)
);
-- Создание таблицы для связи "многие-ко-многим" между Orders и Products
CREATE TABLE OrderProducts (
OrderProductID INTEGER PRIMARY KEY AUTOINCREMENT,
OrderID INTEGER NOT NULL,
ProductID INTEGER NOT NULL,
Quantity INTEGER CHECK(Quantity > 0),
FOREIGN KEY (OrderID) REFERENCES Orders(OrderID) ON DELETE CASCADE,
FOREIGN KEY (ProductID) REFERENCES Products(ProductID) ON DELETE CASCADE,
INDEX (OrderID, ProductID)
);
queries.sql
-- Клиенты
SELECT * FROM Clients;
INSERT INTO Clients (Name, Phone, Address) VALUES (?, ?, ?);
UPDATE Clients SET Name = ?, Phone = ?, Address = ? WHERE ClientID = ?;
DELETE FROM Clients WHERE ClientID = ?;
-- Продукты
SELECT * FROM Products;
INSERT INTO Products (Name, Description, Category, Price, Stock) VALUES (?, ?, ?, ?, ?);
UPDATE Products SET Name = ?, Description = ?, Category = ?, Price = ?, Stock = ? WHERE ProductID = ?;
DELETE FROM Products WHERE ProductID = ?;
-- Заказы
SELECT * FROM Orders;
INSERT INTO Orders (ClientID, OrderDate, Status, TotalAmount) VALUES (?, ?, ?, ?);
UPDATE Orders SET ClientID = ?, OrderDate = ?, Status = ?, TotalAmount = ? WHERE OrderID = ?;
DELETE FROM Orders WHERE OrderID = ?;
-- Доставки
SELECT * FROM Delivery;
INSERT INTO Delivery (OrderID, DeliveryAddress, TimeWindow, EmployeeID, DeliveryStatus, DeliveryCost) VALUES (?, ?, ?, ?, ?, ?);
UPDATE Delivery SET OrderID = ?, DeliveryAddress = ?, TimeWindow = ?, EmployeeID = ?, DeliveryStatus = ?, DeliveryCost = ? WHERE DeliveryID = ?;
DELETE FROM Delivery WHERE DeliveryID = ?;
-- Сотрудники
SELECT * FROM Employees;
INSERT INTO Employees (FullName, Role, Phone, Email, WorkSchedule, IsActive) VALUES (?, ?, ?, ?, ?, ?);
UPDATE Employees SET FullName = ?, Role = ?, Phone = ?, Email = ?, WorkSchedule = ?, IsActive = ? WHERE EmployeeID = ?;
DELETE FROM Employees WHERE EmployeeID = ?;
-- Отчеты и аналитика
-- 1. Количество заказов по статусам
SELECT Status, COUNT(*) AS Count FROM Orders GROUP BY Status;
-- 2. Общая сумма заказов по клиентам
SELECT c.Name AS ClientName, SUM(o.TotalAmount) AS TotalSpent
FROM Orders o
JOIN Clients c ON o.ClientID = c.ClientID
GROUP BY c.ClientID;
-- 3. Распределение продуктов по категориям
SELECT Category, COUNT(*) AS Count FROM Products GROUP BY Category;
-- 4. Активные сотрудники и их роли
SELECT Role, COUNT(*) AS Count
FROM Employees
WHERE IsActive = 1
GROUP BY Role;
-- SQL-запросы на странице запросов
-- 1. Все клиенты
SELECT * FROM Clients;
-- 2. Общая сумма заказов по клиентам
SELECT c.ClientID, c.Name, SUM(o.TotalAmount) AS TotalSpent
FROM Orders o
JOIN Clients c ON o.ClientID = c.ClientID
GROUP BY c.ClientID;
-- 3. Количество сотрудников по ролям
SELECT Role, COUNT(*) AS Count
FROM Employees
GROUP BY Role;
-- 4. Информация о доставках с указанием сотрудников
SELECT d.DeliveryID, d.DeliveryAddress, e.FullName
FROM Delivery d
JOIN Employees e ON d.EmployeeID = e.EmployeeID;

Список литературы

1.	Грекул, В. И.  Проектирование информационных систем : учебник и практикум для среднего профессионального образования / В. И. Грекул, Н. Л. Коровкина, Г. А. Левочкина. — 2-е изд. — Москва : Издательство Юрайт, 2023. — 423 с. — (Профессиональное образование). — ISBN 978-5-534-17836-4. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/533817
2.	Д. В. Чистов, П. П. Мельников, А. В. Золотарюк, Н. Б. Ничепорук. Проектирование информационных систем: учебник и практикум для среднего профессионального образования— 2-е изд., перераб. и доп.— Москва Издательство Юрайт, 2023.— 293с.— (Профессиональное образование). — ISBN 978-5-534-16217-2. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/530635
3.	Григорьев, М. В. Проектирование информационных систем : учебное пособие для среднего профессионального образования / М. В. Григорьев, И. И. Григорьева. — Москва : Издательство Юрайт, 2022. — 318 с. — (Профессиональное образование). — ISBN 978-5-534-12105-6. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/496197
4.	Зараменских, Е. П. Информационные системы: управление жизненным циклом : учебник и практикум для среднего профессионального образования / Е. П. Зараменских. — 2-е изд., перераб. и доп. — Москва: Издательство Юрайт, 2023. — 497 с. — (Профессиональное образование). — ISBN 978-5-534-16179-3. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/530571
5.	Нетесова, О. Ю.  Информационные системы в экономике : учебное пособие для среднего профессионального образования / О. Ю. Нетесова. — 5-е изд., испр. и доп. — Москва : Издательство Юрайт, 2024. — 152 с. — (Профессиональное образование). — ISBN 978-5-534-20212-0. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/557803
6.	Стружкин, Н. П. Базы данных: проектирование : учебник для среднего профессионального образования / Н. П. Стружкин, В. В. Годин. — Москва : Издательство Юрайт, 2023. — 477 с. — (Профессиональное образование). — ISBN 978-5-534-11635-9. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/518499
7.	Советов, Б. Я.  Базы данных : учебник для среднего профессионального образования / Б. Я. Советов, В. В. Цехановский, В. Д. Чертовской. — 4-е изд., перераб. и доп. — Москва : Издательство Юрайт, 2024. — 403 с. — (Профессиональное образование). — ISBN 978-5-534-18784-7. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/545704
8.	Кудрявцев, В. Б.  Интеллектуальные системы : учебник и практикум для среднего профессионального образования / В. Б. Кудрявцев, Э. Э. Гасанов, А. С. Подколзин. — 2-е изд., испр. и доп. — Москва : Издательство Юрайт, 2024. — 165 с. — (Профессиональное образование). — ISBN 978-5-534-12968-7. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/542810
9.	Управление проектами. It-технологии : учебное пособие для среднего профессионального образования / В. Е. Гвоздев [и др.]. — 2-е изд. — Москва : Издательство Юрайт, 2025. — 167 с. — (Профессиональное образование). — ISBN 978-5-534-20796-5. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/558795
10.	Системы управления технологическими процессами и   информационные технологии : учебное пособие для среднего  профессионального образования / В. В. Троценко, В. К. Федоров, А. И. Забудский, В. В. Комендантов. — 2-е изд., испр. и доп. — Москва : Издательство Юрайт, 2024. — 136 с. — (Профессиональное образование). — ISBN 978-5-534-09939-3. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/539749 (дата обращения: 18.12.2024).
11.	Богатырев, В. А.  Надежность информационных систем : учебное пособие для среднего профессионального образования / В. А. Богатырев. — 2-е изд. — Москва : Издательство Юрайт, 2024. — 366 с. — (Профессиональное образование). — ISBN 978-5-534-18930-8. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/555113
12.	Зыков, С. В.  Объектно-ориентированное программирование : учебник и практикум для вузов / С. В. Зыков. — 2-е изд. — Москва : Издательство Юрайт, 2024. — 151 с. — (Высшее образование). — ISBN 978-5-534-16941-6. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/537385
13.	Лаврищева, Е. М.  Программная инженерия и технологии программирования сложных систем : учебник для вузов / Е. М. Лаврищева. — 2-е изд., испр. и доп. — Москва : Издательство Юрайт, 2023. — 432 с. — (Высшее образование). — ISBN 978-5-534-07604-2. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/513067
14.	Илюшечкин, В. М.  Основы использования и проектирования баз данных : учебник для среднего профессионального образования / В. М. Илюшечкин. — Москва : Издательство Юрайт, 2024. — 213 с. — (Профессиональное образование). — ISBN 978-5-534-01283-5. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/538545
15.	Маркин, А. В.  Программирование на SQL : учебник и практикум для вузов / А. В. Маркин. — 3-е изд., перераб. и доп. — Москва : Издательство Юрайт, 2024. — 805 с. — (Высшее образование). — ISBN 978-5-534-18371-9. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/534873

Подробное описание

📘 О чем эта работа

Работа описывает проектирование и реализацию реляционной базы данных и серверного слоя, обслуживающего чат-бота для автоматизации продаж в «Sokol Coffee». Объект исследования — процесс продаж (клиент → заказ → доставка), предмет — структура БД и серверные компоненты для обработки заказов и взаимодействия с мессенджерами и платёжными системами.

📚 Что внутри

В работе приведены конкретные артефакты и реализация:

  • Инфологическая и ER-модель с сущностями Clients, Products, Orders, Delivery, Employees и промежуточной OrderProducts.
  • Логическая и физическая модель: подробные таблицы с полями (ClientID, ProductID, OrderID и т.д.), типами, ограничениями CHECK, автоинкрементом (AUTOINCREMENT) и значениями по умолчанию (OrderDate DEFAULT CURRENT_TIMESTAMP).
  • SQL-скрипт tables.sql с реализацией: уникальные индексы на Phone, Email; индексы на Category, OrderDate, DeliveryStatus, Role; составной индекс (OrderID, ProductID); ON DELETE CASCADE / ON DELETE SET NULL.
  • Файл queries.sql с готовыми запросами: выборки клиентов, агрегации (SUM TotalAmount по клиентам), распределение продуктов по категориям, отчёты по ролям сотрудников и информации о доставках.
  • Серверные объекты: хранимые процедуры (AddOrder, UpdateOrderStatus, AddEmployee, DeleteInactiveEmployees, CalculateDeliveryCost), функции (GetTotalSpentByClient) и триггеры (UpdateDeliveryStatus, LogOrderDeletion, CheckProductStockOnInsert).
  • Проверка нормализации до 3NF и рекомендации по индексам для ускорения выборок.
  • Интерфейс административной панели: страницы «Сотрудники», «Клиенты», «Продукты», «Заказы», «Доставки» с примерами выводов запросов.

📊 Для кого подходит

Подходит студентам и преподавателям информационных технологий и прикладной информатики, курсам по базам данных, разработчикам чат-ботов и владельцам малого бизнеса для быстрого внедрения автоматизации приёма заказов и логистики доставки.

✨ Особенности

Конкретика и готовность к развёртыванию: включён полный набор SQL-скриптов, реальные ограничения (CHECK TimeWindow IN ('10:00-12:00','14:00-16:00')), индексы и правила целостности; реализованы транзакционные процедуры для добавления заказов и отката при ошибках; учтены каскадные удаления и поведение при удалении сотрудников (ON DELETE SET NULL).

Администрирование и безопасность: описана ролевая модель (Администратор, Менеджер, Курьер), политика паролей, шифрование соединений (SSL/TLS), белый список IP и стратегия резервного копирования (еженедельные полные копии + ежедневные инкрементальные) с тестом восстановления.

Практическая выгода: готовые отчёты и запросы для аналитики продаж, шаблоны хранимых процедур и триггеров для минимизации ручных операций, рекомендации по масштабированию (дополнительные индексы, анализ EXPLAIN PLAN).

❓ Частые вопросы

Подойдет ли для моего ВУЗа?
Структура работы соответствует требованиям курсовой: введение, главы, заключение, список литературы и приложения со скриптами.

Можно адаптировать?
Да. Скрипты и ER-модель легко модифицируются под дополнительные сущности (отзывы, промо-коды, интеграции API) и другие СУБД.