Лабораторная работа №6 – «Создание сложных запросов»

Теоретические сведения

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

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

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

Создание простых запросов

Запросы можно создавать, используя мастер создания запросов и используя конструктор.

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

1. В окне базы данных на панели объектов выбрать ярлык Запросы.

2. В списке запросов дважды щелкнуть левой кнопкой «мыши» на ярлыке Создание запроса с помощью мастера или нажать на кнопку Создать в окне базы данных и в появившемся диалоговом окне Новый запрос выбрать Простой запрос и нажать на кнопку ОК.

3. В появившемся окне Создание простых запросов в поле со списком Таблицы и запросы выбрать таблицу или запрос, которые будут служить источником данных для создаваемого запроса.

С помощью стрелок вправо и влево переместить из списка Доступные поля в список Выбранные поля те поля, которые необходимы в конструируемом запросе. При этом порядок полей в запросе будет соответствовать порядку полей в списке Выбранные поля. Если нужно включить в запрос все поля, можно воспользоваться кнопкой с двумя стрелками вправо.

4. Нажать кнопку Далее (Next)

5. Следующее диалоговое окно будет последним. В нем нужно ввести имя создаваемого запроса и выбрать дальнейшие действия: При необходимости можно установить флажок Вывести справку по работе с запросом для вывода справочной информации по работе с запросами.

6. Нажать на кнопку Готово.

Создание и изменение запроса в режиме Конструктора

Для изменения уже существующих запросов и для создания новых запросов используется Конструктор запросов. Для того чтобы открыть запрос в режиме Конструктора, выделите в списке один из существующих запросов и нажмите кнопку Конструктор на панели инструментов окна База данных.

Появляется окно Конструктора запросов. В верхней части окна отображается таблица (или несколько таблиц, если запрос многотабличный) в том виде, в каком таблицы отображаются в окне Схема данных. Таблицы - источники данных для запроса, мы будем называть базовыми таблицами запроса. В нижней части окна находится бланк запроса - таблица, ячейки которой используются для определения запроса. В бланке отображаются все столбцы, включенные в результирующее множество запроса.

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

Рисунок 2 –Вид запроса в режиме Конструктора

Рассмотрим, как создать новый запрос с помощью Конструктора запросов. Для этого необходимо:

1. В окне базы данных на панели объектов выбрать ярлык Запросы.

2. В списке запросов выбрать ярлык Создание запроса в режиме конструктора или нажать кнопку Создать, в появившемся окне Новый запрос выбрать Конструктор и нажать на кнопку ОК.

3. В окне Добавление таблицы выбрать одну или несколько таблиц или запросов для построения нового запроса и нажать кнопку Добавить. Для удобства выбора таблиц и запросов в окне существуют следующие вкладки: Таблицы, на которой отображается список таблиц; Запросы, на которой отображается список запросов; Таблицы и запросы, на которой отображается список таблиц и запросов вместе.

4. После добавления всех необходимых таблиц нажать кнопку Закрыть в окне Добавление таблицы. Все выбранные таблицы оказываются помещенными на верхней панели окна Конструктора запросов. Если таблицы связаны между собой, т. е. связи присутствуют явно на схеме данных, то эти связи также отображаются. Если связи на схеме данных не установлены, то Конструктор запросов автоматически устанавливает связи между таблицами, если они содержат поля, которые имеют одинаковые имена и согласованные типы.

5. Затем нужно указать, какие поля из таблиц будут отображаться в запросе. Включать в запрос можно поля из любой таблицы. Способов включения полей в запрос существует несколько. Выделите нужное поле в таблице-источнике (можно выделить несколько полей, пользуясь клавишами <Shift> и <Ctrl>). Если требуется включить в запрос все поля базовой таблицы, выделите поле, обозначенное звездочкой (*). Дважды щелкните левой кнопкой «мыши» на выделенном поле. При этом в бланке запроса появится столбец, соответствующий выбранному полю. Затем аналогично добавьте другие поля. Столбцы в бланке запроса при этом заполняются слева направо.

Можно подвести указатель «мыши» к выделенному полю (одному из выделенных полей), нажать на левую кнопку «мыши» и перетащить поле (поля) в нужное место бланка запроса. Последний способ позволяет помещать поля в любое место бланка запроса.

И, наконец, вместо перетаскивания полей в бланк запроса из таблицы можно просто использовать раскрывающийся список полей в строке Поле бланка запроса.

Элементы языка запросов

-В данной записи допускается любая последовательность символов. Например, чтобы вывести информацию обо всех сотрудниках, чьи фамилии начинается на букву «С», в столбец с полем «Фамилия» в строке условие отбора необходимо указать С*. Access автоматически изменит введенное выражение на like «С*», т.е. содержится С, а далее может быть любая последовательность символов.

Также можно использовать различные математические операторы, например >, <, <> и т.д.

Если необходимо вывести информацию, где условием отбора является некоторый временной промежуток, то необходимо использовать конструкцию «between … and». Например, вывести информацию о работниках, которые приняты с 1 мая 2006 года по 10 мая 2007 года. Подобный запрос будет выглядеть следующим образом: для поля «дата найма» в строку условие отбора ввести выражение between 01.05.2006 and 10.05.2007.

Выполнение

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

Создайте запрос, в котором выводятся оценки студентов заданной группы по заданной дисциплине.

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

Разработайте запрос на увеличение на 10% заработной платы тех преподавателей, которые получают менее 5000 руб.

Создайте запрос на удаление отчисленных студентов.

Разработайте запрос на создание базы данных отличников.

Для всех созданных вами запросов разработайте формы.

Для выполнения предложенных заданий необходимо выполнить следующие шаги:

1. Для создания запроса с параметрами о студентах заданной группы:

· откройте вкладку Запросы базы данных Деканат;

· щелкните по кнопке Создать;

· в появившемся окне выберите Простой запрос и щелкните по кнопке ОК;

· в появившемся окне в строке Таблицы/запросы выберите из списка таблицу Студенты;

· перенесите все поля из окна Доступные поля в окно Выбранные поля;

· щелкните по кнопке Далее. Выводить надо все поля, поэтому еще раз щелкните по кнопке Далее;

· в появившемся окне введите имя запроса Группа;

· щелкните по кнопке Готово. На экране появится таблица с данными запроса. Но необходимо, чтобы при выполнении запроса выяснялся номер группы. Для этого перейдите в режим конструктора;

· в строке Условие отбора для поля Номер группы введите фразу (скобки нужно вводить обязательно): [Введите номер группы];

· выполните запрос, выполнив команду Запуск на панели инструментов;

· в появившемся окне введите 151 и щелкните по кнопке ОК. На экране появится таблица с данными о студентах 151 группы;

· сохраните запрос и закройте бланк запроса.

2. Для создания запроса, в котором выводятся оценки студентов заданной группы по заданной дисциплине выполните следующее:

· на вкладке Запросы щелкните по кнопке Создать;

· выберите Создание запроса в режиме конструктора;

· выберите таблицу Студенты и перенесите поля Фамилия, Имя, Отчество, Номер группы в бланк запроса;

· в таблице Дисциплины выберите поле Название дисциплины;

· в таблице Оценки выберите поле Оценки. В результате будут сформированы шесть полей запроса - они связаны между собой посредством схемы данных;

· сохраните запрос с именем Оценки группы. Перейдите в режим конструктора для этого запроса;

· в строке Условие отбора для поля Номер группы введите фразу: [Введите номер группы],

· в строке Условие отбора для поля Название дисциплины введите фразу: [Введите название дисциплины];

· выполните запрос;

· в первом появившемся окне введите 152, затем щелкните по кнопке ОК, во втором - введите Информатика и щелкните по кнопке ОК. На экране появится таблица со списком 152 группы и оценками по информатике;

· сохраните запрос.

3. Создайте перекрестный запрос о среднем балле в группах по дисциплинам. Но такой запрос строится на основе одной таблицы или одного запроса, в связи с чем надо сначала сформировать запрос, в котором были бы поля Номер группы, Название дисциплины и Оценки. Для этого выполните следующее:

· на вкладке Запросы выберите вариант Создание таблицы в режиме конструктора;

· выберите из таблицы Студенты поле Номер группы;

· выберите из таблицы Дисциплины поле Название дисциплины;

· выберите из таблицы Оценки поле Оценки;

· в появившемся окне введите имя запроса Дисциплины и оценки группы;

· сохраните запрос и закройте бланк запроса. Теперь можно создавать перекрестный запрос. Для этого:

· на вкладке Запросы выберите вариант Создание запроса в режиме конструктора;

· в качестве типа запроса выберите Перекрестный запрос;

· щелкните по вкладке Запросы, выберите Дисциплины и оценки группы;

· добавьте в запрос поле Название дисциплины;

· добавьте в запрос поле Номер группы;

· выберите функцию AVG, т.е. среднее;

· введите название запроса Средние оценки и щелкните по кнопке Готово. Откроется таблица перекрестного запроса. Обратите внимание на то, что Access создает еще итоговое значение средних оценок обеих групп по дисциплинам;

· закройте таблицу запроса.

4. Для создания запроса на изменение заработной платы преподавателей выполните следующее:

· на вкладке Запросы выберите Создание запроса в режиме конструктора;

· в бланк запроса добавьте таблицу Преподаватели;

· в таблице Преподаватели выберите поле 3арплата;

· сохраните запрос с именем Изменение зарплаты;

· щелкните по кнопке Конструктор на панели инструментов;

· в строке Условия отбора введите <5000;

· в качестве типа запроса выберите Запрос на обновление;

· в строке конструктора запроса в поле Зарплата введите:[Зарплата]* 1,1;

· выполните запрос, подтвердив готовность на обновление данных;

· закройте запрос, сохранив его;

· откройте таблицу Преподаватели;

· просмотрите изменение заработной платы у преподавателей, получающих меньше 5000 р.

5. Для создания запроса на отчисление студента группы 152 Перлова Кирилла Николаевича выполните следующие действия:

· на вкладке Запросы выберите вариант Создание запроса в режиме конструктора;

· добавьте соответствующие таблицы в бланк запроса;

· из таблицы Студенты выберите поля Фамилия, Имя, Отчество, Номер группы;

· в строке Условия отбора введите в поле Фамилия - Перлов, в поле Имя - Кирилл, в поле Отчество - Николаевич, в поле Номер группы - 152;

· в качестве типа запроса выберите Запрос на удаление;

· выполните запрос;

· откройте таблицу Студенты и удостоверьтесь в удалении записи о студенте Перлове;

· сохраните запрос под именем Отчисленные студенты.

6. Для формирования запроса на создание базы данных отличников проделайте следующее:

· на вкладке Запросы выберите пункт Создание таблицы в режиме конструктора;

· в таблице Студенты выберите поля Фамилия, Имя, Отчество и Номер группы, а в таблице Оценки - поле Оценки;

· сохраните запрос с именем Отличники;

· Примечание. Для создания этого запроса надо воспользоваться операцией группировки. Будем считать отличниками тех студентов, которые набрали за четыре экзамена 20 баллов. Операция группировки позволит просуммировать оценки студентов по всем экзаменационным дисциплинам.

· для использования групповых операций выполните команду меню Вид→Групповые операции;

· в строке Групповая операция для поля Оценки откройте раскрывающийся список и выберите функцию SUM;

· в строке Условие отбора поля Оценки введите 20;

· в качестве типа запроса выберите Запрос на создание таблицы;

· введите имя таблицы Студенты-отличники и щелкните по кнопке ОК;

· подтвердите создание таблицы;

· закройте запрос, сохранив его;

· откройте вкладку Таблицы;

· откройте таблицу Студенты-отличники. Удостоверьтесь в правильности создания таблицы.

7. Для каждого из созданных запросов создайте форму для удобного просмотра данных.



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: