Похожие презентации:
presentation
1.
Информационная системапродовольственного магазина
Курсовая работа по дисциплине «Базы данных»
Студент: Плешкан А.А.
Тема: продовольственный магазин
Среда: C# WinForms, SQLite
Тирасполь, 2026
Главное меню с кнопками «Старт» и «Выход»
2.
Актуальность и цель работыПроблема
• Разрозненный учет затрудняет контроль
остатков.
• Просроченные партии нужно выявлять
автоматически.
• Поставки, реализация и возвраты должны
быть согласованы с товарами.
Результат работы
• ER- и логическая модели данных.
• Физическая схема SQLite с ключами и
ограничениями.
• Контрольные данные и три SQL-запроса.
• Приложение с CRUD для всех таблиц и
экранными отчетами.
Цель: разработать информационную
систему продовольственного магазина с
базой SQLite, приложением C# WinForms и
тремя запросами задания.
Информационная система продовольственного магазина
2
3.
Задачи проектированияАнализ
• Определить пользователей, входные и выходные данные
• Зафиксировать границы предметной области
Модель
• Описать товары, отделы, поставки, реализацию и возвраты
• Построить ER- и логическую модели
Нормализация
• Проверить отношения до 3НФ
• Не хранить расчетный остаток и просрочку вручную
SQLite
• Создать таблицы, PK/FK, UNIQUE, CHECK, NOT NULL
• Подготовить seed-данные и запросы
Приложение
• Реализовать главное меню и CRUD по таблицам
• Сделать вкладку запросов и проверку ввода
Информационная система продовольственного магазина
3
4.
Предметная область и поток данных• Сотрудник ведет справочники
товаров, отделов и операций.
• Приложение проверяет ввод и
выполняет параметризованные
команды SQLite.
• База хранит исходные данные, а
отчеты рассчитывают остатки и
просрочку.
Остаток товара вычисляется по
поставкам, реализации и
возвратам, а не хранится
отдельным полем.
Информационная система продовольственного магазина
Потоки данных между пользователем, приложением и SQLite
4
5.
Функциональная структура системы• Справочники: группы товаров,
товары, отделы.
• Операции: поставки, реализация и
возвраты.
• Запросы: движение товаров,
просрочка, поставки.
• Контроль: обязательные поля,
количества больше нуля, выбор
товара.
Подсистемы учета продовольственного магазина
Информационная система продовольственного магазина
5
6.
ER-модель базы данных• 6 таблиц SQLite.
• ProductGroups
классифицируют Products.
• Supplies, Sales и Returns
ссылаются на Products.
• Departments хранит коды
групп товаров как
предметную привязку.
Сущности, ключи и связи
Информационная система продовольственного магазина
6
7.
Логическая и физическая структураСправочники
Операции
• ProductGroups
• Products
• Departments
• Supplies
• Sales
• Returns
• Идентификаторы — INTEGER PRIMARY KEY
AUTOINCREMENT.
• Даты хранятся как yyyy-MM-dd.
• Цена — NUMERIC, количества и срок годности —
INTEGER.
• Русские текстовые данные — TEXT.
Информационная система продовольственного магазина
Ограничения
PRIMARY KEY
FOREIGN KEY
UNIQUE
CHECK
• FOREIGN KEY запрещают операции для
отсутствующего товара.
• UNIQUE защищают коды от дублей.
• CHECK контролируют цену, срок годности и
количество.
• PRAGMA foreign_keys включает проверку ссылок.
7
8.
Основные SQL-запросыВедомость движения
• Поставлено − реализовано + возвращено
• Остаток по каждому товару
• Агрегация по ProductId
Просроченные товары
• Дата поставки + срок годности
• Сравнение с текущей датой
• Партия, количество и поставщик
Поставки товаров
• Поставщик и дата поставки
• Количество и цена
• Сумма поставки
• Контрольные результаты: 5 строк в ведомости движения, 3 просроченные партии
на 18.06.2026, 6 строк отчета поставок.
• Все отчеты строятся из первичных операций, без хранения расчетного остатка в
отдельной таблице.
Информационная система продовольственного магазина
8
9.
Реализация приложения• Технологии: .NET 8, C# WinForms,
Microsoft.Data.Sqlite.
• Program запускает MainMenuForm.
• MainForm содержит вкладки CRUD и
отчетов.
• DatabaseService создает схему, seed-данные
и выполняет запросы.
Вкладки справочников, операций и запросов
Информационная система продовольственного магазина
Главное меню снова показывается после
закрытия основной формы.
9
10.
CRUD и контроль вводаCRUD
• Добавление, просмотр, изменение и
удаление реализованы для всех шести
таблиц.
• Для товаров и операций используются
выпадающие списки справочников.
• Кнопка «Обновить» пересчитывает
отчеты.
Информационная система продовольственного магазина
Контроль
• Обязательные поля проверяются до
сохранения.
• Количество вводится числовым полем с
минимумом 1.
• Ошибки базы данных показываются
пользователю в диалоговом окне.
10
11.
Итоги и развитиеЧто выполнено
• Разработана модель данных
продовольственного магазина.
• Создана физическая схема SQLite с
контрольными данными.
• Реализованы три обязательных запроса.
• Создано приложение C# WinForms для
CRUD и отчетов.
• Цель работы достигнута.
Информационная система продовольственного магазина
Возможное развитие
• Справочник поставщиков.
• Партийный учет остатков.
• Списание просроченных товаров.
• Печатные формы и роли пользователей.
11