- •Л абораторная работа № 2 создание запросов с использованием qbe ms access
- •1. Краткая теория вопроса
- •2 Задание
- •3 Методика выполнения
- •3.1. Запросы на выборку однотабличные
- •3.1.1. Запрос с логическими операциями в условии отбора
- •3.1.2. Запрос с использованием в условии отбора выражений с именами полей.
- •3.1.3. Запрос с вычисляемым полем
- •3.1.4. Запросы с групповыми операциями
- •3.1.5 Запросы на выборку с вводом параметра(ов)
- •3.2 Запросы на выборку многотабличные
- •3.3 Запросы-действия
- •3.3.1 Запросы-действия на создание новой таблицы
- •3.3.2 Запросы-действия на обновление данных
- •3.3.3 Запросы-действия на добавление данных
- •3.3.4 Запросы-действия на удаление данных
- •3.4 Перекрестные запросы
- •4. Контрольное задание
- •5. Содержание отчета
- •4. Контрольные вопросы
3.1.5 Запросы на выборку с вводом параметра(ов)
Для поиска информации в таблицах по каким-либо критериям можно организовать запрос так, что условие поиска будет вводиться в процессе выполнения запроса.
Запрос 6. Используя данные таблицы Учащиеся, найти информацию о студенте (год рождения, место прописки) по его фамилии.
Порядок выполнения:
- открыть конструктор запросов в режиме для выборки для таблицы Учащиеся;
- выбрать поля ФИО, Год рождения, Место прописки;
- в поле ФИО в строку условие отбора в квадратных скобках ввести текст для диалогового окна: «Введите фамилию студента:»;
- сохранить запрос под именем Запрос 6 и выполнить.
Запрос 7. Используя данные таблицы Учащиеся, найти информацию о студентах, задав параметры для года рождения и места прописки. Сконструировать запрос по аналогии с Запросом 6.
Запрос 8. Используя данные таблицы Учащиеся подсчитать количество студентов, дата рождения которых попадает в заданный временной интервал, вводимый в диалоговом режиме.
Порядок выполнения:
- в конструкторе запросов выбрать поля ФИО, Год рождения;
– для ФИО установить групповую операцию Count;
- в поле Год рождения в строку условие отбора ввести текст: Between [дата1] And [дата2]. В квадратных скобках выражения указываются названия параметров для запроса начальной и конечной дат интервала;
– - сохранить запрос под именем Запрос 8 и выполнить.
3.2 Запросы на выборку многотабличные
Запрос 9. Выдать данные о футболистах, представив их в следующем виде: ФИО, Прозвище, Место на поле, Год рождения, Место прописки.
Запрос выполняется аналогично Запросу 1, но при команде Добавление таблицы необходимо добавить таблицы Учащиеся и Футболисты.
Бланк формирования запроса заполняется в требуемой последоваельности выбранных полей с указанием соответсвующих таблиц.
3.3 Запросы-действия
3.3.1 Запросы-действия на создание новой таблицы
Данный вид запроса используются при необходимости накапливать итоговые данные на протяжении времени.
Запрос 10. Подсчитать количество девушек и парней в группе, как сделано в Запросе 4, и результат сохранить в базе данных в виде таблицы. (полученную таблицу в дальнейшем можно использовать для других запросов).
Порядок выполнения:
- создать Запрос 10 такой же, как Запрос 4;
- открыть его в режиме конструктора и далее через верхнее меню Запрос выполнить преобразование в запрос Создание таблицы;
- выполнить запрос, назвав новую таблицу Количество.
3.3.2 Запросы-действия на обновление данных
Прежде чем приступить к созданию данных запросов усложним структуру базы данных Студенты: добавим дополнительную сущность Группы. Ее атрибутам: номер группы, курс, фамилию старосты, количество человек в группе. Связь между сущностями Группы и Учащиеся (рис. 2) будет 1:М, т.е. одна группа состоит из многих студентов, но один студент входит в состав одной группы. Класс принадлежности для обеих сущностей обязательный.
Схема базы данных вместе с таблицей Группы представлена на рис. 3.
Запрос 11. Создать запрос для базы данных Студенты, который позволит в таблице Группы заполнить поле Кол_студ данными, подсчитанными из таблицы Учащиеся.
Порядок выполнения:
- создать промежуточную таблицу Кол_ст_в_гр запросом на создание новой таблицы (рис.4).(Запрос 11a)
- создать запрос на обновление таблицы Группы данными из таблицы Кол_ст_в_гр, как показано на рис. 5 (Запрос 11б)
Запрос 12. В таблице Учащиеся создать поле Возраст и вычислить его значение, исходя из значений поля Год рождения. (Функции даты и времени не используются т.к. год рождения введен в числовом формате).
Порядок выполнения:
- открыть таблицу Учащиеся в режиме конструктора, добавить поле Возраст, задав тип поля числовой и далее сохранить таблицу;
- создать запрос на обновление данных в таблице Учащиеся:
- открыть окно конструктора для создания запроса на выборку, добавить таблицу Учащиеся;
- преобразовать его в запрос на обновление через меню Запрос/Обновление;
- перенести поле Возраст в бланк запроса, а в строке Обновление с помощью построителя выражений ввести формулу 2009-[учащиеся]![год рождения ];
- сохранить и выполнить запрос.