Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Инф. лаб. 4 - SQL.docx
Скачиваний:
7
Добавлен:
25.09.2019
Размер:
63.91 Кб
Скачать

Варианты заданий

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

Вариант 1 «Хранилище документов»

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

Таблица документов Documents содержит название документа DocumentName и вид документа DocumentKind (заявление, акт, служебная записка и т.д.). Таблица версий документов DocumentVersions содержит название документа (поле DocumentName из таблицы Documents), номер версии DocumentVersionNumber (эти два поля являются ключом таблицы), номер автора версии документа AuthorID (выбирается из таблицы пользователей), дату создания версии DocumentVersionCreateDate, дату последнего изменения версии DocumentVersionChangeDate и тело версии DocumentVersionBody. Таблица прав DocumentRights содержит идентификатор строки DocumentRightsID, номер пользователя UserID, тип прав DocumentRightType (просмотр, изменение, полный, нет прав доступа). Таблица пользователей Users содержит номер пользователя UserID и имя пользователя UserName.

Необходимо создать базу данных соответствующей структуры и наполнить ее тестовыми данными. Затем составить и проверить результат выполнения следующих запросов:

  1. Выбрать все экземпляры документов, название которых содержит слово «акт».

  2. Найти имена всех пользователей, имеющих права не менее, чем на просмотр.

  3. Найти все документы, версии которых изменялись в этом году.

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

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

Вариант 2 «Музыкальный архив»

Информационный портал предоставляет пользователям возможность работы с музыкальными файлами разных исполнителей. В базе данных информационного портала хранится информация о композициях, альбомах и исполнителях. Композиции могут относиться к различным жанрам: рок, джаз, классическая музыка и т.д. Для композиции также указываются атрибуты соответствующего музыкального файла: битрейт (128 кбит/c, 192 кбит/c и т.д.), формат (MP3, OGG, FLAC), размер файла.

Таблица композиций Compositions содержит информацию о музыкальных файлах: столбец CompositionID содержит номер композиции, столбец CompositionName содержит название композиции, столбец CompositionLyrics содержит текст песни (если есть), столбец CompositionBody содержит тело музыкального файла в соответствующем формате, столбец CompositionFormat содержит формат музыкального файла, столбец CompositionBitRate содержит битрейт музыкального файла, столбец CompositionSize содержит размер файла, столбец CompositionGenre содержит жанр композиции, столбец AlbumID содержит номер альбома (может отсутствовать, подстановка из таблицы альбомов). Таблица альбомов Albums содержит номер альбома AlbumID, название альбома AlbumName, год выпуска альбома AlbumYear и обложку альбома AlbumCover. Таблица CompositionPerformers содержит соответствие между композициями и исполнителями: столбец CompositionID содержит номер композиции, столбец PerformerID содержит номер исполнителя. Таблица исполнителей Performers содержит номер исполнителя PerformerID, имя исполнителя PerformerName, фамилию исполнителя PerformerSurname, дату рождения PerformerBithdate, место рождения PerformerBirthPlace, фотографию PerformerPhoto.

Необходимо создать базу данных соответствующей структуры и наполнить ее тестовыми данными. Затем составить и проверить результат выполнения следующих запросов:

  1. Выбрать все композиции, записанные в формате без потери качества и относящиеся к жанру «джаз».

  2. Найти все композиции, вышедшие в этом году.

  3. Найти все композиции, исполненные Pat Metheny в 1984–1987 гг.

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

  5. Найти все альбомы, в которых нет композиций.