Стек:
- Open Server, MySQL Workbench, PyCharm, pgAdmin, console
- MySQL, PostgreSQL
- Python, PyQt6
Задание
Спроектировать структуру данных и разработать модуль программного обеспечения, для зоомагазина «Лапки», цель которого — учет продаж домашних питомцев. Вам необходимо:
- Разработать базу данных в соответствии со словарем данных, представленным в приложении А.
- Провести структурирование и привести базу данных к 3НФ.
- Дополнить базу данных необходимыми полями и сущностями.
- Задать все первичные и внешние ключи, и другие ограничения.
- Заполнить базу данными из приложения А.
- Разработать SQL-запросы согласно приложению В для обеспечения работы форм приложения с базой данных
| Категория | Порода | Кличка | Окрас | Возраст\месяцев | Стоимость | Дата продажи | Стат. доставки | Клиент |
| Собака | Лабрадор | Тузик | Черный | 2 | 7000 | |||
| Кошка | Персидская | Мурка | Серый | 3 | 2000 | |||
| Птица | Попугай | Кеша | Зеленый | 2 | 1000 | |||
| Собака | Овчарка | Рекс | Рыжий | 6 | 2000 | |||
| Собака | Такса | Шарик | Коричневая | 4 | 8000 | |||
| Кошка | Персидская | Барсик | Серый | 6 | 1800 | 20.05.24 12:00 | получен | Cli1@ya.ru |
| Кошка | Британская | Борис | Черепаховый | 2 | 6000 | |||
| Кошка | Британская | Томас | Серебристый | 2 | 6500 | 20.05.24 12:00 | получен | Cli1@ya.ru |
| Птица | Канарейка | Кешуля | Желтый | 4 | 2200 | 15.05.24 12:00 | в пути | Cli2@ya.ru |
Приложение В
- Написать представление, которое выводит список питомцев, имеющихся в магазине (не проданы) по категориям.
- Написать хранимую процедуру с транзакцией, которая запускается в момент оформления продажи питомцы, необходимо делать соответствующую запись о событии в БД, (первоначально доставке присваивается статус «в пути»).
- Написать триггер, который отслеживает изменение статуса доставки на «получен» и ведет логирование данного события в отдельную таблицу с указанием даты и времени.
- Снабдить пункт 1 соответствующим графический интерфейсом.
При выполнении задания необходимо руководствоваться представленным словарем данных. Дополнение структуры допускается только при наличии соответствующего указания в пунктах задания приложения В.
На этапе демонстрации выполненного экзаменационного задания студенту членами комиссии и\или преподавателем могут быть заданы теоретические вопросы по следующим темам:
- Основные положения теории баз данных, хранилищ данных, баз знаний.
- Основные принципы структуризации и нормализации базы данных.
- Основные принципы построения концептуальной, логической и физической модели данных.
- Современные инструментальные средства проектирования схемы базы данных.
- Методы описания схем баз данных в современных СУБД.
- Структуры данных СУБД, общий подход к организации представлений, таблиц, индексов и кластеров.
- Методы организации целостности данных.
- Архитектура СУБД: клиент-серверное взаимодействие, управление процессами.
- Базы данных NoSQL-типа в информационных системах.
- SQL Data Definition Language.
- SQL Data Manipulation Language.
- SQL Data Query Language.
- SQL Scalar Functions.
- Подготовка систем для установки SQL-сервера. Установка и настройка SQL-сервера.
- Мониторинг работы сервера базы данных.
- Репликация сервера базы данных.
- Управление транзакциями. SQL Transaction Control Language.
- Наборы инструкций, хранимые процедуры.
- Обработка событий, триггеры.
- Пользовательские функции.
- Импорт и экспорт данных.
- Способы контроля доступа к данным и управления привилегиями. SQL Data Control Language.
- Типы и стратегии резервного копирования. Модели восстановления данных.
- Аутентификация и авторизация пользователей.
- Защита информации в базе данных
- Сбор, обработка и анализ информации для проектирования баз данных
- Проектирование базы данных на основе анализа предметной области
- Проектирование и разработка приложения информационной системы
- Разработка алгоритмов и программ отдельных модулей информационных систем
- Формирование отчётной документации
При проверке все пункты задания оцениваются с точки зрения работоспособности. Если скрипт написан, но не запускается или работает некорректно, пункт задания считается невыполненным.
z czczx