Безопасность систем баз данных: Задания на лабораторные работы № 1-7. Вариант 16 (База данных "Клуб иллюзионистов")

Страницы работы

Содержание работы

Лабораторная работа №1

Исходной информацией для построения ER-диаграммы базы данных является следующий перечень атрибутов:

·  название фокуса;

·  разновидность фокуса (появление/исчезновение, левитация, чтение мыслей, аномальные явления и т. п.);

·  сложность фокуса;

·  описание эффекта фокуса;

·  обучающий видеоролик для фокуса;

·  стоимость обучения фокусу;

·  фамилия и имя автора фокуса;

·  год рождения автора;

·  год смерти автора;

·  страна проживания автора;

·  фамилия иллюзиониста;

·  имя и отчество иллюзиониста;

·  псевдоним иллюзиониста;

·  профессиональный уровень иллюзиониста;

·  дата принятия иллюзиониста в клуб;

·  дата и время проведения мероприятия;

·  адрес мероприятия;

·  вид мероприятия (спектакль, концерт, свадьба и т. п.).

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

При определении связей необходимо учесть следующее:

·  на каждом мероприятии фокусник показывает определенные трюки;

·  если к фокусу прикреплен обучающий видеоролик, то обязательно известно, кто из участников клуба проводит обучение.

Лабораторная работа №3

Реализовать следующие запросы к БД.

1. Получить сведения о фокусах (включая стоимость обучающего видеоролика) указанной разновидности и сложности.

2. Получить перечень фокусов, у которых стоимость обучения не выше указанной.

3. Получить перечень фокусов (без стоимости обучения) с указанием сведений об авторах; упорядочить перечень по фамилии и имени автора. Реализовать запрос в виде представления.

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

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

6. Получить сведения о пятерке самых популярных фокусов клуба (популярность определяется количеством мероприятий, на которых демонстрировался фокус, независимо от исполнителя). Реализовать запрос в виде представления.

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

Фамилия

Имя

Отчество

Псевдоним

Количество выездов

8. Получить перечень иллюзионистов, репертуар которых включает указанный фокус.

9. Получить перечень фокусов, не имеющих обучающего видеоролика. Реализовать запрос в виде представления.

Лабораторная работа №4

Реализовать в базе данных следующие функции и хранимые процедуры.

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

2. Функция, возвращающая перечень фокусов, у которых стоимость обучения не выше указанной. Параметр: пороговое значение стоимости.

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

4. Функция, возвращающая сведения о мероприятиях, в которых участвовал указанный иллюзионист. Параметры: псевдоним, фамилия, имя, отчество иллюзиониста.

Примечание. Поиск по фамилии, имени и отчеству вести только в том случае, если не указан псевдоним.

5. Функция, возвращающая перечень иллюзионистов, репертуар которых включает указанный фокус. Параметр: название фокуса.

6. Процедура регистрации мероприятия.

Входные параметры: псевдоним, фамилия, имя, отчество, иллюзиониста; характеристики мероприятия; названия трюков, показанных в ходе мероприятия.

Примечание 1. Последний параметр имеет табличный тип данных.

Примечание 2. Если псевдоним не NULL и не пустая строка, то фамилия, имя и отчество иллюзиониста игнорируются при поиске.

Выходной параметр: код завершения процедуры. Возможные значения:

·  0 – процедура завершена успешно;

·  1 – мероприятие добавлено, но некоторые из указанных фокусов не были найдены;

·  2 – ни один из указанных фокусов не зарегистрирован в БД;

·  3 – иллюзионист не зарегистрирован в БД.

7. Процедура добавления автора фокуса.

Входные параметры: название фокуса, сведения об авторе.

Примечание. Если автор уже присутствует в БД, он не добавляется вторично.

Выходной параметр: код завершения процедуры. Возможные значения:

·  0 – процедура завершена успешно;

·  1 – название фокуса указано неверно;

·  2 – для данного фокуса уже указан автор.

Лабораторная работа №6

Реализовать в БД следующие ограничения.

1. Название фокуса, фамилия и имя автора, псевдоним иллюзиониста – уникальные атрибуты.

2. Название фокуса всегда известно.

3. Дата рождения автора фокуса предшествует дате смерти.

4. Дата мероприятия с участием иллюзиониста – более поздняя, чем год вступления иллюзиониста в клуб.

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

6. Иллюзионист не может получить звание профессионала, если в его репертуаре нет определенного числа сложных фокусов.

7. Обучение более простому фокусу не может стоить дороже, чем обучение более сложному.

Лабораторная работа №7

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

Похожие материалы

Информация о работе