Добавил:
ИВТ (советую зайти в "Несортированное") Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
13
Добавлен:
20.11.2024
Размер:
97.12 Кб
Скачать

1. Подробное описание структуры базы данных

Структура базы данных:

  • База данных предназначена для хранения информации о забытых вещах, их местоположении и статусе.

  • Использование базы данных возможно в организациях, занимающихся потерянными и найденными вещами, таких как учреждения, музеи, аэропорты и др.

Таблицы:

  • Categories: Содержит категории предметов (id, название).

  • Locations: Содержит местоположения, где были найдены предметы (id, название).

  • Status: Содержит статус предметов (id, название статуса).

  • Employees: Содержит информацию о сотрудниках, создающих отчеты (id, имя).

  • Items: Содержит информацию о найденных предметах (id, описание, дата нахождения, местоположение, категория, дни с момента нахождения).

  • Reports: Содержит отчеты о найденных предметах (id, id предмета, id сотрудника, id статуса, дата отчета).

Ограничения:

  • Уникальные ограничения на название категорий и местоположений.

  • Внешние ключи для связи между таблицами (например, category_id в таблице Items с Categories).

Возможные запросы пользователей:

  • Получение списка всех категорий.

  • Получение вещей по определенному местоположению.

  • Обновление статуса вещи.

  • Удаление отчета о найденной вещи.

2. Схема базы данных

(Здесь вставьте схему базы данных, созданную в ERD-диаграмме или другой подходящей форме, например, с помощью pgAdmin.)

3. Список созданных запросов с их описанием

  1. Получение всех категорий:

sql

SELECT * FROM Categories;

Описание: Возвращает список всех категорий предметов.

  1. Получение вещей по местоположению:

sql

SELECT * FROM get_items_by_location('Названия местоположения');

Описание: Возвращает список вещей, найденных в указанном местоположении.

  1. Обновление статуса вещи:

sql

Копировать код

SELECT update_item_status(1, 'Утрачено');

Описание: Обновляет статус вещи с ID 1 на "Утрачено".

  1. Удаление отчета:

sql

SELECT delete_report(1);

Описание: Удаляет отчет с ID 1.

  1. Список созданных процедур, функций, представлений, триггеров с их описанием, параметрами работы

Процедуры:

  • add_category(name): Добавляет новую категорию предмета.

Функции:

  • get_items_by_location(location_name): Получает список вещей по местоположению.

Представления:

  • item_status_view: Представление, показывающее статус всех вещей.

Триггеры:

  • update_days_since_found: Автоматически обновляет поле days_since_found в таблице Items при добавлении нового предмета.

  1. Рекомендации по работе с базой данных – оптимизация с помощью индексов

  • Создание индексов на полях, по которым часто выполняются запросы, например, на 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 запросы, используемые в вашей базе данных, включая создание таблиц, триггеров, функций и хранимых процедур.)

Есть выше

Соседние файлы в папке проект (утерянные вещи)