
- •Аннотация
- •Содержание
- •Введение
- •1 Анализ предметной области
- •2 Обоснование модели данных
- •3 Обоснование выбора субд
- •4 Описание функций групп пользователей
- •5 Описание функций управления данными
- •5.1 Хранение данных
- •5.2 Манипулирование данными
- •5.3 Назначение прав доступа
- •Генерация справок и отчетов
- •6 Организация защиты бд
- •Заключение
- •Список информационных источников
- •Приложение а
- •Основные разделы базы данных
- •Основные операции
- •Ввод данных
- •Редактирование данных
- •Удаление данных
- •Извлечение данных
- •Генерация отчетов
- •Приложение б
4 Описание функций групп пользователей
Как было сказано ранее для проектируемой БД можно выделить как минимум 2 группы пользователей — это завуч и администратор БД. Однако более оптимально будет добавить еще 2 группы пользователей – учителя и ученики, позволив учителям вносить информацию в БД об оценках и просматривать информацию о текущем расписании, тем самым функция заполнения БД будет распределена между несколькими пользователями, а не только завучем. Ученикам необходимо предоставить возможность просматривать информацию о текущем расписании и успеваемости.
На рисунке 3 показана диаграмма с функциями групп пользователей.
Рисунок 3 – Диаграмма с функциями групп пользователей
Администратор имеет полные права доступа ко всем объектам БД, остальные группы пользователей имеют ограниченные права доступа, обозначенные в таблице 1.
Таблица 1 – Назначение прав доступа группам пользователей
Объект |
Администратор |
Завуч |
Учителя |
Ученики |
Учитель |
SUID |
SUID |
S |
- |
Кабинет |
SUID |
S |
S |
- |
Ученик |
SUID |
SUID |
S |
- |
Предмет |
SUID |
S |
S |
- |
Класс |
SUID |
S |
S |
- |
Преподавание |
SUID |
S |
S |
- |
Расписание |
SUID |
S |
S |
S |
Ведомость |
SUID |
SUID |
SUI |
S |
5 Описание функций управления данными
5.1 Хранение данных
Хранение данных осуществляется с помощью таблиц, обозначающих сущности из физической диаграммы. Для главных таблиц задается уникальный идентификатор – ID, который является также первичным ключом. Связь с дочерними таблицами осуществляется через внешний ключ, который соответствует первичному ключу главной таблицы, что обеспечивает ссылочную целостность.
Функция создания главной таблицы TEACHER с характерным первичным ключом:
СREATE TABLE "TEACHER"
(
"TEACHER_ID" serial PRIMARY KEY,
"TEACHER_FULL_NAME" character(50)
);
Функция создания дочерней таблицы с характерными внешними ключами:
CREATE TABLE "TEACHING"
(
"TEACHER_ID" serial NOT NULL,
"SUBJECT_ID" serial NOT NULL,
"ORDER" boolean,
FOREIGN KEY ("TEACHER_ID") REFERENCES "TEACHER" ("TEACHER_ID"),
FOREIGN KEY ("SUBJECT_ID") REFERENCES "SUBJECT" ("SUBJECT_ID")
);
Остальные таблицы задаются аналогичным образом и представлены в Приложении Б.
5.2 Манипулирование данными
Согласно заданию необходима возможность вносить данные о новом учителе или ученике, а также удалять выбывших, это осуществимо с помощью функции INSERT INTO
INSERT INTO "STUDENT" ("STUDENT_FULL_NAME")
VALUES ('ФИО'); // добавление нового ученика
Добавление других данных осуществляется аналогично, представлено в приложении А.
Изменение данных, согласно правам доступа осуществляется функцией UPDATE. Например, изменение ФИО ученика
UPDATE "STUDENT"
SET "STUDENT_FULL_NAME" = 'новое ФИО'
WHERE "STUDENT_FULL_NAME" = 'старое ФИО'
AND "STUDENT_ID" IN (
SELECT "STUDENT_ID"
FROM "STUDENT"
WHERE "STUDENT_FULL_NAME" = 'старое ФИО'
);
Остальные команды редактирования представлены в приложении А.
Удалять данные завуч может об ученике, учителе или оценке командой DELETE
DELETE FROM "TEACHER"
WHERE "TEACHER_ID" IN (
SELECT "TEACHER_ID"
FROM "TEACHER"
WHERE "TEACHER_FULL_NAME" = 'ФИО'
); // удаление данных об учителе
Остальные команды для удаления в приложении А.
Поиск и получение данных из БД осуществляется запросом
SELECT "поле1", "поле2", ...
FROM "Имя таблицы"
WHERE (условие);
Вариациями данного запроса пользователи могут просматривать данные из БД (приложение А).