
1. Подробное описание структуры базы данных
Структура базы данных:
База данных предназначена для хранения информации о забытых вещах, их местоположении и статусе.
Использование базы данных возможно в организациях, занимающихся потерянными и найденными вещами, таких как учреждения, музеи, аэропорты и др.
Таблицы:
Categories: Содержит категории предметов (id, название).
Locations: Содержит местоположения, где были найдены предметы (id, название).
Status: Содержит статус предметов (id, название статуса).
Employees: Содержит информацию о сотрудниках, создающих отчеты (id, имя).
Items: Содержит информацию о найденных предметах (id, описание, дата нахождения, местоположение, категория, дни с момента нахождения).
Reports: Содержит отчеты о найденных предметах (id, id предмета, id сотрудника, id статуса, дата отчета).
Ограничения:
Уникальные ограничения на название категорий и местоположений.
Внешние ключи для связи между таблицами (например, category_id в таблице Items с Categories).
Возможные запросы пользователей:
Получение списка всех категорий.
Получение вещей по определенному местоположению.
Обновление статуса вещи.
Удаление отчета о найденной вещи.
2. Схема базы данных
(Здесь вставьте схему базы данных, созданную в ERD-диаграмме или другой подходящей форме, например, с помощью pgAdmin.)
3. Список созданных запросов с их описанием
Получение всех категорий:
sql
SELECT * FROM Categories;
Описание: Возвращает список всех категорий предметов.
Получение вещей по местоположению:
sql
SELECT * FROM get_items_by_location('Названия местоположения');
Описание: Возвращает список вещей, найденных в указанном местоположении.
Обновление статуса вещи:
sql
Копировать код
SELECT update_item_status(1, 'Утрачено');
Описание: Обновляет статус вещи с ID 1 на "Утрачено".
Удаление отчета:
sql
SELECT delete_report(1);
Описание: Удаляет отчет с ID 1.
Список созданных процедур, функций, представлений, триггеров с их описанием, параметрами работы
Процедуры:
add_category(name): Добавляет новую категорию предмета.
Функции:
get_items_by_location(location_name): Получает список вещей по местоположению.
Представления:
item_status_view: Представление, показывающее статус всех вещей.
Триггеры:
update_days_since_found: Автоматически обновляет поле days_since_found в таблице Items при добавлении нового предмета.
Рекомендации по работе с базой данных – оптимизация с помощью индексов
Создание индексов на полях, по которым часто выполняются запросы, например, на category_id в таблице Items и location_id в таблице Reports, чтобы ускорить выполнение запросов.
CREATE INDEX idx_category ON Items(category_id);
CREATE INDEX idx_location ON Reports(location_id);
6. Описание работы с графическим интерфейсом вашей программы
Интерфейс программы:
Программа написана на Python и предоставляет текстовый интерфейс для взаимодействия с базой данных.
Пользователи могут добавлять категории, получать список вещей по местоположению, обновлять статус и удалять отчеты через меню.
Обработка пользовательских запросов осуществляется с помощью функций, реализованных на Python.
. Приложение – SQL код всех запросов к вашей базе данных
(Здесь вставьте все SQL запросы, используемые в вашей базе данных, включая создание таблиц, триггеров, функций и хранимых процедур.)
Есть выше