Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

LR8.Tyutterin_Yakov_Z1411-1

.pdf
Скачиваний:
0
Добавлен:
29.04.2024
Размер:
11 Mб
Скачать

МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ федеральное государственное автономное образовательное учреждение высшего образования

«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ»

ИНСТИТУТ НЕПРЕРЫВНОГО И ДИСТАНЦИОННОГО ОБРАЗОВАНИЯ

КАФЕДРА ПРИКЛАДНОЙ ИНФОРМАТИКИ

ОЦЕНКА

ПРЕПОДАВАТЕЛЬ

канд. техн. наук, доц.

 

Е. Л. Турнецкая

должность, уч. степень, звание

подпись, дата

инициалы, фамилия

ОТЧЕТ О ЛАБОРАТОРНОЙ РАБОТЕ №8

Пользовательские привилегии

по дисциплине: Базы данных

РАБОТУ ВЫПОЛНИЛ

 

 

 

 

 

СТУДЕНТ гр. №

Z1411

 

 

Я. Н. Тюттерин

 

 

 

 

 

 

 

номер группы

подпись, дата

 

инициалы, фамилия

Студенческий билет №

2022/4886

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Санкт-Петербург 2024

Лабораторная работа № 8. ПОЛЬЗОВАТЕЛЬСКИЕ ПРИВИЛЕГИИ.

Цели работы: Получение практических навыков по администрированию СУБД MySQL.

Вариант 18. Занятость актеров театра. Работников театра можно подразделить на актеров, музыкантов, постановщиков и служащих. Каждая из перечисленных категорий имеет уникальные атрибуты-характеристики и может подразделяться (например, постановщики) на более мелкие категории. Театр возглавляет директор, в функции которого входят контроль за постановками спектаклей, утверждение pепеpтуаpа, принятие на работу новых служащих, приглашение актеров и постановщиков. Актеры, музыканты и постановщики, работающие в театре, могут уезжать на гастроли. Актеры театра могут иметь звания заслуженных и народных артистов, могут быть лауреатами конкурсов. Также актерами театра могут быть и студенты театральных училищ. Каждый актер имеет свои вокальные и внешние данные (пол, возраст, голос, pост и т.п.), которые могут подходить для каких-то pолей, а для каких-то нет (не всегда женщина может сыграть мужчину и наоборот). Для постановки любого спектакля необходимо подобрать актеров на роли и дублеров на каждую главную pоль. Естественно, что один и тот же актер не может играть более одной pоли в спектакле, но может играть несколько pолей в различных спектаклях. У спектакля также имеется pежисеp-постановщик, художник-постановщик, диpижеp- постановщик, автор. Спектакли можно подразделить по жанрам: музыкальная комедия, трагедия, оперетта и пр. С другой стороны, спектакли можно подразделить на детские, молодежные и пр. В pепеpтуаpе театра указывается какие спектакли, в какие дни и в какое время будут проходить, а также даты пpемьеp. В кассах театра можно заранее приобрести билеты или абонемент на любые спектакли. Абонемент обычно включает в себя билеты на спектакли либо конкретного автора, либо конкретного жанра. Цена билетов зависит от места, и спектакля. На премьеры билеты дороже. Администрацией театра фиксируется количество проданных билетов на каждый спектакль.

Рисунок 1 - Схема БД

Для начала просмотрим всех пользователей БД. Выберем системную схему БД - mysql и изучим содержимое таблицы user:

Также с помощью запроса можно просмотреть список привилегий, присутствующих в БД:

Также можно просмотреть список привилегий по доступу к таблицам БД:

Также можно просмотреть список привилегий по доступу к БД:

Выполнил запрос по проверке привилегий по доступу к полям БД:

Создал пользователя:

create user 'user_selecter'@'localhost' identified by ‘secret';

Проверил то, что пользователь появился в таблице user:

Задал новому пользователю права на чтение записей из таблиц схемы БД - theatre

GRANT SELECT

ON `theatre`.*

TO 'user_selecter'@'localhost';

FLUSH PRIVILEGES;

Проверка того, что права у нового пользователя появились:

Изменение пароля пользователя:

ALTER USER 'user_selecter'@'localhost' IDENTIFIED BY ‘new_password';

Отзыв всех прав пользователя:

REVOKE ALL PRIVILEGES, GRANT OPTION FROM ‘user_selecter’@'localhost';

Проверка прав пользователя:

Удаление пользователя:

Просмотр всех пользователей БД:

Создал нового пользователя через клиент для работы с БД MySql - DBeaver

Далее выдал пользователю роль на чтение информации из всех таблиц схемы театра:

GRANT Select ON theatre.* TO ‘user_selecter'@'%';

В результате у пользователя появилась новая привилегия:

Результат просмотра привилегий пользователя:

Можно ввести пользователя, который будет заниматься наймом работников в театр и назначением им должностей и достижений. Пользователя назовем как worker_manager. Создание:

Таблица

Список прав

workers

DELETE, UPDATE, INSERT, SELECT

position_worker

DELETE, UPDATE, INSERT, SELECT

achievement

DELETE, UPDATE, INSERT, SELECT

achievement_worker

DELETE, UPDATE, INSERT, SELECT

Процедура

create_worker

add_positions_for_worker

Функция

add_achievement

Добавление прав к таблице workers:

GRANT Create ON theatre.achievements TO 'worker_manager'@'%'; GRANT Delete ON theatre.workers TO 'worker_manager'@'%'; GRANT Insert ON theatre.workers TO 'worker_manager'@'%'; GRANT Select ON theatre.workers TO 'worker_manager'@'%'; GRANT Update ON theatre.workers TO 'worker_manager'@'%';

Добавление прав к таблице position_worker:

GRANT Delete ON theatre.position_worker TO GRANT Insert ON theatre.position_worker TO GRANT Select ON theatre.position_worker TO GRANT Update ON theatre.position_worker TO

'worker_manager'@'%'; 'worker_manager'@'%'; 'worker_manager'@'%'; ‘worker_manager'@'%';

Добавление прав к таблице achievements:

GRANT Delete ON theatre.achievements TO 'worker_manager'@'%'; GRANT Insert ON theatre.achievements TO 'worker_manager'@'%'; GRANT Update ON theatre.achievements TO 'worker_manager'@'%'; GRANT Select ON theatre.achievements TO ‘worker_manager'@'%';

Добавление прав к таблице achievement_worker:

GRANT Delete ON theatre.achievement_worker TO 'worker_manager'@'%'; GRANT Insert ON theatre.achievement_worker TO 'worker_manager'@'%'; GRANT Select ON theatre.achievement_worker TO 'worker_manager'@'%'; GRANT Update ON theatre.achievement_worker TO 'worker_manager'@'%';

Выдача прав на вызов функции ADD_ACHIEVEMENT:

use theatre;

GRANT EXECUTE ON FUNCTION ADD_ACHIEVEMENT TO ‘worker_manager'@'%';

Выдача прав на вызов процедуры create_worker:

use theatre;

GRANT EXECUTE ON PROCEDURE create_worker TO ‘worker_manager'@'%';

Выдача прав на вызов процедуры add_positions_for_worker:

use theatre;

GRANT EXECUTE ON PROCEDURE add_positions_for_worker TO 'worker_manager'@'%';

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]