Лабораторная работа №1
Исходной информацией для построения ER-диаграммы базы данных является следующий перечень атрибутов:
· учетная запись (email) пользователя;
· статус пользователя в социальной сети (заблокирован/не заблокирован);
· фамилия пользователя;
· имя пользователя;
· псевдоним пользователя (ник);
· название видеозаписи;
· уникальный идентификатор видеозаписи;
· содержимое видеозаписи;
· произвольное описание видеозаписи;
· тег видеозаписи;
· дата добавления видеозаписи на страницу пользователя;
· продолжительность видеозаписи;
· жанр видеозаписи;
· тип доступа к просмотру видеозаписи;
· возможность добавления комментариев к видеозаписи;
· комментарий пользователя к видеозаписи;
· дата и время написания комментария к видеозаписи.
Перечисленные атрибуты необходимо сгруппировать по сущностям и связям. Определение сущностей и структуры связей выполняется студентом самостоятельно. В процессе работы исходный список атрибутов может быть уточнен и дополнен.
Примечание. При построении ER-диаграммы учесть, что на видеозаписи может быть отмечено множество пользователей. Это необходимо отразить в виде соответствующей связи между сущностями.
Лабораторная работа №3
Реализовать следующие запросы к БД.
1. Получить сведения о видеозаписях указанного жанра, имеющихся в социальной сети.
2. Получить сведения о типах доступа к видеозаписи с указанным названием на странице указанного пользователя.
3. Получить сведения о видеозаписях на странице указанного пользователя, имеющих указанный тег.
4. Получить список комментариев к видеозаписям указанного пользователя, оставленных в последние три дня.
5. Получить сведения о самой популярной (имеющейся у наибольшего количества пользователей социальной сети) видеозаписи. Реализовать запрос в виде представления.
6. Получить перечень всех жанров видеозаписей, представленных на страницах пользователей, с указанием средней продолжительности видеозаписи по каждому жанру. Реализовать запрос в виде представления:
Жанр |
Средняя продолжительность |
… |
… |
… |
… |
… |
… |
7. Получить перечень видеозаписей указанного пользователя в порядке убывания даты добавления.
8. Получить дату первого появления указанной видеозаписи в социальной сети.
9. Получить сведения о пользователях, имеющих у себя на странице видеозаписи с указанным названием.
Лабораторная работа №4
Реализовать в базе данных следующие функции и хранимые процедуры.
1. Функция, возвращающая сведения о видеозаписях указанного жанра, имеющихся в социальной сети. Параметр: наименование жанра.
2. Функция, возвращающая сведения о типах доступа к видеозаписи с указанным названием на странице указанного пользователя. Параметры: название видеозаписи, имя учетной записи пользователя.
3. Функция, возвращающая сведения о видеозаписях на странице указанного пользователя, имеющих указанный тег. Параметры: имя учетной записи пользователя, наименование тега.
4. Функция, возвращающая список комментариев к видеозаписям указанного пользователя, оставленных в последние три дня. Параметр: имя учетной записи пользователя.
5. Функция, возвращающая перечень видеозаписей указанного пользователя в порядке убывания даты добавления. Параметр: имя учетной записи пользователя.
6. Функция, возвращающая дату первого появления указанной видеозаписи в социальной сети. Параметр: название видеозаписи.
7. Функция, возвращающая сведения о пользователях, имеющих у себя на странице видеозаписи с указанным названием. Параметр: название видеозаписи.
8. Процедура добавления новой видеозаписи на страницу пользователя.
Входные параметры: имя учетной записи пользователя, название видеозаписи, описание видеозаписи, дата добавления на страницу пользователя (по умолчанию – текущая системная дата), продолжительность, жанр, тип доступа к просмотру и комментированию.
Выходной параметр: код завершения процедуры. Возможные значения:
· 0 – процедура завершена успешно;
· 1 – имя учетной записи пользователя указано неверно.
9. Процедура добавления зарегистрированной в БД видеозаписи на страницу пользователя.
Входные параметры: имя учетной записи пользователя, уникальный идентификатор видеозаписи, дата добавления (по умолчанию – текущая системная дата), типы доступа к просмотру и комментированию.
Выходной параметр: код завершения процедуры. Возможные значения:
· 0 – процедура завершена успешно;
· 1 – имя учетной записи пользователя указано неверно;
· 2 – неверный идентификатор видеозаписи.
10. Процедура привязки тега к видеозаписи на странице пользователя.
Входные параметры: имя учетной записи пользователя, уникальный идентификатор видеозаписи, тег.
Выходной параметр: код завершения процедуры. Возможные значения:
· 0 – процедура завершена успешно;
· 1 – имя учетной записи пользователя указано неверно;
· 2 – неверный идентификатор видеозаписи.
11. Процедура удаления видеозаписи со страницы пользователя.
Примечание. Если видеозапись после удаления остается не привязанной ни к одной странице пользователя, процедура удаляет ее из БД.
Входные параметры: идентификатор видеозаписи, имя учетной записи пользователя.
Выходной параметр: код завершения процедуры. Возможные значения:
· 0 – процедура завершена успешно;
· 1 – неверный идентификатор видеозаписи;
· 2 – неверное имя учетной записи;
· 3 – видеозапись на странице указанного пользователя не найдена.
Лабораторная работа №6
Реализовать в базе данных следующие ограничения.
1. Тип доступа для просмотра и комментирования видеозаписи принимает одно из следующих значений: 0 – «только мне», 1 – «только мне и друзьям», 2 – «только мне, друзьям и друзьям друзей», 3 – «всем пользователям».
2. Дата добавления видеозаписи – более ранняя, чем дата добавления комментария к ней.
3. На странице пользователя к одной видеозаписи не привязывается дважды один и тот же тег.
4. Продолжительность видеозаписи – неотрицательная величина.
5. Нельзя добавить видеозапись на страницу заблокированного пользователя.
6. Нельзя отредактировать видеозапись или привязать к ней тег, если она расположена на странице заблокированного пользователя.
7. Нельзя удалить видеозапись со страницы заблокированного пользователя.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.