- •Информационные системы Лабораторная работа №2
- •Назначение запросов
- •Виды запросов
- •Создание запроса
- •Бланк запроса qbe (нижняя часть)
- •Условия отбора записей
- •Запросы на выборку Запрос: Найдите место хранения определенной книги
- •Откройте объект Запросы
- •Параметры запроса
- •Запрос 15: Обновите год издания определенной книги
- •Запрос 19: Создайте запрос, добавляющий новый раздел
- •Важно!!!! в схеме данных запроса не должно быть таблицы, в которую добавляем записи!!!!
Запросы на выборку Запрос: Найдите место хранения определенной книги
Откройте объект Запросы
Создание→Конструктор запросов
Выберите таблицу Книги
Выберите следующие значения полей
Выполните запрос. Для этого Щелкните на вкладке Запрос1 правой кнопкой мыши и выберите Режим таблицы либо нажмите на панели Конструктор кнопку
.В результате будет выведен перечень книг со всеми местами хранения
Однако по запросу требуется вывести место хранение определенной книги
Вернемся обратно в конструктор данного запроса и добавим в него условие отбора, например, выведем место хранения книги «Карьера менеджера»:
Выполните запрос. В результате на экране будет отображаться место хранение только книги «Карьера менеджера»
Однако, по условию задания не указано место хранения какой конкретно книги нужно вывести на экран. Для этого используются запросы с параметром.
Параметры запроса
Определение параметра запроса по значению поля. Имя параметра запроса может задаваться непосредственно в строке Условия отбора в квадратных скобках. При выполнении запроса это имя появится в диалоговом окне Введите значение параметра.
Например, если в условии отбора Название книги заменить на имя параметра [введите название книги] то при выполнении запроса будет выводиться диалоговое окно позволяющее ввести значение этого параметра запроса с клавиатуры, то есть название любой книги из БД.
В итоге будет выведено место хранение, введенной книги.
Откройте запрос в конструкторе. Добавьте в запрос таблицу Авторы. Также добавьте таблицу АвторКниги. Эта таблица необходима для связи между таблицами Автор и Книги
Внесите изменения в бланк запроса
Выполните запрос
Сохраните запрос
Запрос 11: Выведите название самой старой книги
Использование групповых операций в запросах
Групповые операции позволяют выделить группы записей с одинаковыми значениями в указанных полях и использовать для этих групп одну из статистических функций. В Access предусмотрено девять статистических функций:
Функция |
Результат применения функции |
Sum |
Сумма всех значений поля в каждой группе |
Avg |
Среднее арифметическое всех значений поля в каждой группе. |
StDev |
Стандартное среднеквадратичное отклонение для всех значений поля каждой группы |
Var |
Статистическая дисперсия для всех значений поля каждой группы |
Min |
Наименьшее значение поля в каждой группе |
Max |
Наибольшее значение поля в каждой группе |
First |
Первое значение поля в группе |
Last |
Последнее значение поля в группе |
Count |
Чило значений поля в группе без учета пустых значений (Null). Для подсчета количества всех записей группы используется выражение Count(*). |
Результат запроса с использованием групповых операций содержит по одной записи для каждой группы. В запрос включаются поля, по которым производится группировка, и поля, для которых выполняются групповые функции.
Порядок создания запроса с использованием групповых операций:
Формируется запрос на выборку. В бланк запроса включаются поля, по которым надо произвести группировку, и поля, по которым надо произвести статистические вычисления.
Выберите вкладку Работа с запросами→Конструктор→Итоги
Можно также нажать правую кнопку мыши в окне бланка запроса QBE и выбрать в контекстно-зависимом меню команду Итоги. В бланке запроса QBE появляется строка Групповая операция, в которой для всех полей записано Группировка.
Для групповых вычислений по некоторому полю нужно заменить в нем слово Группировка на нужную статистическую функцию. Выбрать нужную функцию можно через раскрывающийся в поле список.
Возможно также формирование запроса с несколькими групповыми операциями, но только в том случае, если группы записей формируются одинаково.
В результате будет сформирован отдельный запрос с данной групповой операцией, который можно использовать в другом запросе.
Выполним задание. Для выполнения задания необходимо создать два запроса
Запрос1 (МинГод) находит минимальное значение в поле Год издания
Создайте новый запрос с помощью конструктора запросов
Добавьте таблицу Книги
Выберите вкладку Работа с запросами→Конструктор→Итоги
Установите параметры
Выполните запрос. В результат на экране должно появиться одно значение
Сохраните запрос под именем МинГод
Запрос 2 (КнигаМинГод) выводит название самой старой книги.
Создайте новый запрос на выборку. Добавьте в схему данных запроса таблицу Книги и запрос МинГод
Укажите в бланке запроса, что необходимо вывести название книг из таблицы книги
По условию запроса нам необходимо вывести название только той книги, год издания которой минимален, т.е. необходимо сравнить каждое значение в поле Год издания таблицы Книги с результатом запроса МинГод. Для этого необходимо использовать Построитель выражений. Приведите запрос к виду:
Поместите курсор в Условие отбора для поля Года издания. Щелкните правой кнопкой мыши и выберите команду Построить. В результате откроется окно Построитель выражений
В области Элементы выражений разверните БД Книги, щелкнув за значок «+» рядом с ее названием. Выберите Запросы→МинГод. В области Категории выражений выберите Min-Год издания (поле, где высчитывается минимальный год). Щелкните на нем два раза мышью. В результате в верхней области должно появиться выражение. В данном выражении указано из какого объекта какое поле участвует в запросе с помощью соответствующего синтаксиса.
Нажмите Ок.
Бланк запроса примет вид
Выполните запрос. Результат:
Корректировка данных средствами запроса-действия
Запрос на обновление (для обновления имеющихся данных в полях базовых таблиц. Изменения вносятся в группу записей, отбираемых с помощью указанных пользователем условий отбора)
Создать запрос на выборку
В разделе конструктора запросов преобразовать запрос в запрос на обновление, нажав кнопку
.
После выполнения этой команды в бланке
запроса появляется строка Обновление
Для отбора обновляемых записей надо включить в бланк запроса поля, требующие обновления, а также поля, по которым задаются условия отбора записей. Условия отбора задаются так же, как это делается при создании запроса на выборку.
После выполнения команды Запрос→3апуск или нажатия соответствующей кнопки панели инструментов открывается диалоговое окно с сообщением о числе обновляемых записей и вопросом о продолжении операции обновления.
