Добавил:
t.me мой будущий Dungeon Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсач по УД / КП_УД.docx
Скачиваний:
0
Добавлен:
16.06.2025
Размер:
245.08 Кб
Скачать

5.3 Назначение прав доступа

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

  1. Создание роли администратора

CREATE ROLE admin WITH SUPERUSER LOGIN;

  1. Создание роли завуча и предоставление прав доступа

CREATE ROLE head_teacher WITH LOGIN;

GRANT SELECT ON ALL TABLES IN SCHEMA public TO head_teacher;

GRANT INSERT, UPDATE, DELETE ON TABLE "TEACHER", "STUDENT", "STATEMENT" TO head_teacher;

  1. Создание роли учителя и предоставление прав доступа

CREATE ROLE teacher WITH LOGIN;

GRANT SELECT ON ALL TABLES IN SCHEMA public TO teacher;

GRANT INSERT, UPDATE, DELETE ON TABLE "STATEMENT" TO teacher;

  1. Создание роли ученика и предоставление прав доступа

CREATE ROLE student WITH LOGIN;

GRANT SELECT ON TABLE "STATEMENT", "SCHEDULE" TO student;

    1. Генерация справок и отчетов

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

Например, справка о количестве учеников в каждом классе генерируется функцией

SELECT "CLASS"."CLASS_NUMBER", COUNT("STUDENT"."STUDENT_ID") AS student_count // Выбирает номер класса (CLASS_NUMBER) и подсчитывает количество учеников (student_count) в этом классе.

FROM "CLASS"

JOIN "STUDENT" ON "CLASS"."CLASS_ID" = "STUDENT"."CLASS_ID" // Соединяет таблицы CLASS и STUDENT по полю CLASS_ID, чтобы связать каждый класс с учениками, которые в нём учатся.

GROUP BY "CLASS"."CLASS_NUMBER";

6 Организация защиты бд

Ограничения целостности для информационных объектов в разработанной БД реализуется с помощью:

  • первичных ключей, которые представлены в виде уникальных идентификаторов для каждой главной таблицы;

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

  • типа данных serial, благодаря чему происходим автоматическое увеличение уникальных номеров новых строк;

  • условия CHECK в таблице "SCHEDULE".

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

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

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

Соответственно необходимо

1. Настроить регулярное резервное копирование данных: ежедневно для текущих данных и еженедельно для полных резервных копий.

2. Внедрить шифрование данных как при хранении, так и при передаче, включая резервные копии.

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