лаб. раб 18 Создание запросов на выборку. Вычисления в запросах


Лабораторная работа 18
Тема: Создание запросов на выборку. Вычисления в запросах.
Цель: Изучение техники построения запросов на выборку к одиночной таблице и запросов на создание таблицы. Знакомство с возможностями создания и использования вычисляемых полей в запросах.
Индивидуальные задания
Задание 1. Создание запросов на выборку1. Открыть базу данных База№1.
1.1. Проверить наличие и убедиться в сохранности и работоспособности всех созданных ранее таблиц данной базы.
2. Задать критерии выборки в запросе.
2.1. Открыть окно Создание – Конструктор запросов и добавить в него таблицу Личности.
2.2. Определить в качестве типа запроса - Выборка.
2.3. Определить столбцы и заполнить строки запросной формы так, чтобы в результате запроса увидеть четыре поля (Автор, Пол, Дата рождения, Паспорт) всех записей, входящих в таблицу Личности. Пример подготовленного запроса представлен на рис.8.1.
Рис.8.1
2.3.1. Выполнить запрос и просмотреть его результат.
2.3.2. Пользуясь контекстным меню или кнопкой меню «Режим», расположенной на панели инструментов вкладка Главная просмотреть созданный запрос в трех возможных формах его представления:
в окне Конструктора запросов (QBE-Query By Example),
в режиме таблицы,
в режиме SQL(Structured Query Language).
2.4. Сформулировать критерии выборки, создать и выполнить следующие запросы:
лиц с личным кодом, например, Л-003, Л-005, Л-007,
лиц с личным кодом, «большим» чем, например, Л-007,
лиц с личным кодом в интервале, например, от Л-003 до Л-007.
2.5. Сформулировать критерии выборки, создать и выполнить следующие запросы:
лиц личным кодом, например, Л-003, Л-005, Л-007 и датой рождения <10.10.1993,
лиц с датой рождения <10.10.1993 и личным кодом, «большим» чем, например, Л-007,
лиц женского пола (Ж и F) с личным кодом в интервале, например, от Л-003 до Л-007.
3. Осуществить выборку с последующей обработкой результатов:
3.1. Выполнить выборку с последующей сортировкой результатов:
3.1.1. Сформулировать критерии выборки, определить варианты сортировки результатов выборки, создать и выполнить следующие запросы:
лиц с личным кодом в интервале, например, от Л-003 до Л-007, отсортированными по убыванию,
лиц мужского пола (М-русск. и М-латин.) с личным кодом в интервале, например, от Л-003 до Л-013, датой рождения >01.09.1993. Результаты выборки должны быть отсортированы сначала в порядке возрастания кода, затем в порядке убывания даты рождения.
3.2. Выполнить выборку с сохранением результатов в новой таблице:
3.2.1. Выбрать режим Создание таблицы для размещения результатов запроса в новой таблице. Выполнить последовательно запросы п.3.1.1 и сохранить их результат в новой таблице РезЗап311_а и РезЗап311_б, которые будут размещены на вкладке Таблицы базы данных База№1.

3.2.2. Сохранить сформулированные в п.3.1.1. запросы под именами Запрос_31_а и Запрос_31_б на вкладке Запросы базы данных База№1.
3.3. Выполнить выборку с последующей группировкой результатов:
3.3.1. Осуществить выборку данных о лицах женского (Ж) и мужского (М) пола, включив в результат следующие поля Пол, Автор, код, дата рождения. Выполнить выборку, просмотреть и проверить результат.
3.3.2. Выполнить выборку по критериям п.3.3.1 с группировкой результатов по полу. Над данными других полей необходимо выполнить следующие виды обработки:
для поля Автор подсчитать количество лиц мужского и женского пола,
для поля Рожд определить среднюю дату рождения мужчин и женщин,
для поля Личный Код определить наибольший и наименьший личный код для мужчин и женщин соответственно.
Примечание. Для выполнения запросов п.3.3.2 необходимо указать на необходимость выполнения операций группировки результатов ( - итоги) и определить групповые операции (определение количества Count, вычисление среднего Avg, нахождения наибольшего Max или наименьшего Min значений).
3.3.3. Сохранить запрос под именем Запрос_333. Сохранить результат запроса в таблице под именем РезЗап333. Результат выполнения запроса представлен на рис.8.2.

Рис.8.2
3.3.4.Выполнить п.3.3.2 с группировкой по полу лиц, чей код превышает значение 6. Сравнить результаты, полученные в п.3.3.4 и 3.3.2.
4. Создать запрос на выборку лиц, имеющих одинаковые имена.
4.1. В качестве источника указать таблицу Личности.
4.3. Поиск повторяющихся данных осуществлять по полю Автор, например, Иванова* (* - любое количество любых символов, т.к. после фамилии сразу вписано имя автора).
4.4. Дополнительно для отображения в результате запроса указать поле Личный код.
4.5. Сохранить запрос под именем Запр_Однофамильцы.
4.6. Выполнить запрос и убедиться в правильности его работы. В случае отсутствия повторяющихся данных в таблице Личности необходимо изменить данные в поле Автор и повторить запрос еще раз.
4.7. Открыть созданный запрос в режиме Конструктора и проанализировать его содержание.
5. Сохранить базу данных База№1 со всеми ее таблицами и формами.
Задание 2. Вычисления в запросах1. Открыть базу данных База№1.
1.1. Проверить наличие и убедиться в сохранности и работоспособности всех созданных ранее таблиц данной базы.
2. Создать запрос, позволяющий вывести фамилии людей, сгруппированных по признаку пола, для которых в результирующей таблице будут представлены два значения, относящиеся к дате рождения - в кратком формате даты и возраст.
2.1. Создать в запросной QBE форме новое поля - для возраста. В этом поле следует записать выражение, связывающее дату рождения и возраст (Round((Date()-[Личности]![Рожд])/365;0)).
2.2. Повторить выполнение запроса из п.2.1, предварительно обеспечив выполнение следующих условий:
вычисляемое поле с возрастом должно располагаться рядом (справа) со своим аналогом;
поля, представленные в результате выборки, должны иметь соответствующие подписи;
количество десятичных знаков после запятой в числовых полях должно быть равно 2.
Для выполнения этих условий необходимо, находясь в запросной QBE форме, активизировать диалоговое окно Страница свойств для конкретного поля и на вкладке Общие этого окна задать необходимые значения параметров поля (в том числе и подписи). Образец результата запроса представлен на рис.9.1.

Рис.9.1
3. Создать запрос, в котором будут представлены сведения о дате рождения и возрасте студента, как показано на рис.9.2.
3.1. Для выполнения задания необходимо записать выражение, вычитающее год даты рождения из года текущей даты. Для этого, в свою очередь, следует воспользоваться стандартными функциями Date() и Year(). Созданное выражение должно быть записано в соответствующем поле запросной QBE формы (Возраст: CDate([«date»])-[Рожд]).

Рис.9.2
3.2. Выполнить запрос, удостовериться в правильности его работы и сохранить запрос под именем Возраст_ручной.
4. Создать запрос, в котором непосредственно перед его выполнением будут запрашиваться определенные в QBE форме параметры.
4.1. На основе сохраненного запроса Возраст_ручной, создать запрос, позволяющий получить все сведения для конкретного лица, фамилия которого будет запрошена как значение параметра непосредственно перед выполнением запроса. В качестве комментария в диалоге «Введите значение параметра» должен быть текст «Фамилия?».
4.2. На основе предыдущего запроса, создать новый запрос, который позволит выполнять действия только с конкретными фамилиями. Используйте оператор Like для ввода в параметре вместо букв имени символов шаблона * и ? (Like [Фамилия?] & "*").
5. Создать запрос на обновление таблицы.
5.1. Открыть новую запросную форму и определить в качестве источника таблицу Ингредиенты.
5.2. Определить тип запроса – Запрос на обновление.
5.3. В поле Обновление сформулировать выражение, удваивающее количество вес лука для всех блюд ([Ингредиенты]![лук]*2).
5.4. Выполнить запрос и проверить правильность его работы.
6. Создать перекрестный запрос на основе таблицы Личности, иллюстрирующий распределение мужчин и женщин по годам рождения.
6.1. Указать в окне Новый запрос вариант Перекрестный запрос.
6.2. Выбрать в качестве заголовка строк поле Пол, в качестве заголовка столбцов поле Рожд, а в качестве значения - поле Фамилия с функцией Count (подсчет значений).

Рис.9.3
6.3. Сохранить запрос под именем Перекрестный запрос.
6.4. Выполнить запрос и проверить правильность его работы.
6.5. В режиме Конструктора изменить этот запрос так, чтобы в заголовках столбцов выводились не даты, а года рождения (Выражение1: Format([Рожд];"yyyy")).
7. Сохранить базу данных База№1 со всеми ее таблицами, формами и запросами.
Контрольные вопросы
Задать критерии выборки в запросе.
Осуществить выборку с последующей обработкой результатов.
Создать запрос на выборку лиц, имеющих одинаковые имена.

Приложенные файлы

  • docx 3960704
    Размер файла: 748 kB Загрузок: 1

Добавить комментарий