Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БД Исмагилова пособие.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
658.43 Кб
Скачать

6. Запросы на основе связанных таблиц. Группировка и перекрестные запросы. Запросы с параметрами

Если в упражнении имя запроса не указано, то следует использовать составное имя, включающее .название упражнения и порядковый номер запроса, например: А6-1-2 — запрос номер 2 из упражнения А6-1.

А6-1. В существующей базе данных «Видео» (см. упражнения Al-1, A5-1) с помощью соответствующих запросов вывести следующие данные:

1) список всех жанров (с указанием количества фильмов каждого жанра и суммарной длительности этих фильмов),отсортированный в порядке убывания суммарной длительности фильмов;

2) список всех стран-производителей (с указанием количества фильмов, произведенных в каждой стране), отсортированный по убыванию количества фильмов;

3) общее число имеющихся кассет и их суммарную длительность;

4) список всех фильмов, отсортированный по дате записи, с указанием данных о кассетах, содержащих эти фильмы. Запрос должен содержать поля «Назв», «ДатаЗап» таблицы «Фильмы» и «Фирма», «Длит» таблицы «Кассеты»;

5) список всех кассет, содержащий поля «Фирма» и «Длит»таблицы «Кассеты», отсортированный по номерам кассет, с указанием количества фильмов, записанных на каждой кассете, и суммарной длительности этих фильмов;

6) таблицу, столбцы которой соответствуют различным странам (поле «Страна» таблицы «Фильмы»), строки — различным кассетам (поля «Ном», «Фирма» и «Длит» таблицы «Кассеты»), а на пересечении строк и столбцов указывается количество фильмов данной страны, записанных на данную кассету;

7) таблицу, столбцы которой соответствуют различным жанрам, строки — различным кассетам (как в запросе 6), а на пересечении строк и столбцов указывается количество фильмов данного жанра, записанных на данную кассету.

Решение

Откройте базу данных «Видео» (см. 2.1).

запрос А6-1-1

Создайте новый запрос, включив в него таблицу «Фильмы» (см. 3.1); поместите на бланк запроса поля «Жанр», «Ном» и «Длит» (см. 3.2), установите сортировку поля «Длит» по убыванию (см. 3.3).

6.1. группировка записей в запросе: «Вид | Групповые операции» или ; в результате в бланке запроса появится новая строка «Групповая операция» и для всех полей в данной строке будет установлен вариант Группировка. Используя выпадающий список в строке «Групповая операция», замените в поле «Ном» вариант Группировка на Count, а в поле «Длит» — на Sum.

  • Смысл данных настроек следующий: так как для поля «Жанр» установлена группировка, при выполнении запроса все записи с одинаковым полем «Жанр» будут «сгруппированы» в результирующей таблице в одну строку. Значение Count, указанное в поле «Ном», означает, что в данном поле будет подсчитываться количество записей каждого жанра; значение Sum, указанное в поле «Длит», означает, что в данном поле будет вычисляться суммарная длительность всех записей для каждого жанра.

  • Если в создаваемом запросе группировка не требуется, то необходимо скрыть строку «Группировка», повторно выполнив команду «Вид | Групповые операции» или отжав кнопку .

При выполнении созданного запроса (см. 3.4) заголовки второго и третьего столбца примут вид «Count_Hoм» и «Sum_Длит» (они получаются путем присоединения к имени поля названия групповой операции). Для того чтобы заголовки полей запроса имели более привычный вид, надо настроить свойства этих полей.