Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Задания_заоч / Лабораторные / лаб раб 3 / Лабораторная работа 3

.doc
Скачиваний:
19
Добавлен:
21.05.2015
Размер:
40.96 Кб
Скачать

Семенова И.И. Базы данных. - 2 -

Лабораторная работа №3

Теория:

Запросы на выборку - самые простые из них и, к тому же, используемые наиболее часто — это запросы на выборку. С них и принято начинать знакомство с созданием запросов.

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

Как и другие объекты Access, запросы можно создавать автоматически с помощью Мастера или вручную. И, как обычно, на этапе обучения лучше не пользоваться Мастером, чтобы почувствовать работу с запросами «кончиками пальцев».

Для создания запросов к базам данных существует специальный язык запросов. Он называется SQL {Structured Query Language — структурированный язык запросов). Те, кто пользуются СУБД Access, могут позволить себе не изучать этот язык. Вместо него в Access есть простое средство, которое называется бланком запроса по образцу. С его помощью можно сформировать запрос простыми приемами, перетаскивая элементы запроса между окнами.

Подготовительный этап для любого запроса - выбор базовых таблиц для запроса.

Порядок: Выбрать вкладку Запросы окна База данных, нажать на кнопку Создать. В открывшемся диалоговом окне Новый запрос выбираем ручной режим создания запроса, т.е. пункт Конструктор. Создание запроса в режиме Конструктора начинают с выбора тех таблиц базы, на которых будет основан запрос. Выбор таблиц выполняют в окне Добавление таблицы нажатием мыши сначала на названии нужной таблицы, а потом на кнопке Добавить. Выбранные таблицы заносятся в верхнюю половину бланка запроса.

В окне Добавление таблицы обратите внимание на наличие трех вкладок: Таблицы, Запросы, Запросы и таблицы. Они говорят о том, что запрос не обязательно основывать только на таблицах. Если ранее уже был создан запрос, то новый запрос можно основывать и на нем. После добавления таблиц(ы) закрыть окно Добавление таблицы.

Заполнение бланка запроса по образцу:

  • Бланк запроса по образцу имеет две панели. На верхней панели расположены списки полей тех таблиц, на которых основывается запрос.

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

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

  • Строка Имя таблицы заполняется автоматически при перетаскивании поля.

  • Если щелкнуть на строке Сортировка, появится кнопка раскрывающегося списка, содержащего виды сортировки. Если назначить сортировку по какому-то полю, данные в результи­рующей таблице будут отсортированы по этому полю.

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

  • Строка Условие отбора, в ней записывают тот критерий, по которому выбирают записи для включения в результирующую таблицу. По каждому полю можно создать свое условие отбора. Например: по весу игрока (более 80 кг) условие запишется как: >80.

  • Запуск запроса выполняют щелчком на кнопке Вид. При запуске образуется результирующая таблица.

  • Чтобы вернуться к созданию запроса в бланке запроса, нужно в меню Вид выбрать Конструктор.

Задания:

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

Задание 2. Создание запроса с параметром. Создать новый запрос (на закладке Запросы выбрать Создать, далее Конструктор, ОК). Добавить на бланк запроса таблицу, указанную в карточке. Заполнить бланк полями, указанными в карточке. В строке Условие отбора под указанным в карточке поле набрать указанное условие (построитель условий вызывается при нажатии клавиш Ctrl + F2). Сохранить запрос с названием ЗАПРОС 2. Выполнить запрос (в меню Вид - Режим таблицы). Определить для себя, чем отличается результат от предыдущего запроса. Закрыть запрос.

Задание 3. Создание запроса с параметром LIKE. Создать новый запрос (на закладке Запросы выбрать Создать, далее Конструктор, ОК). Добавить на бланк запроса таблицу, указанную в карточке. Заполнить бланк полями, указанными в карточке. В строке Условие отбора под указанным в карточке полем набрать указанное условие. Сохранить запрос с названием ЗАПРОС 3. Выполнить запрос 6 раз, т.е. каждый раз при запуске запроса в диалоговом окне, в котором вам предлагается ввести параметр, последовательно наберите варианты из карточки.

Пояснение для LIKE.

Специальные символы Обозначение

? Любой одиночный символ.

* Любое количество символов или отсутствие символа.

# Любая одиночная цифра (0–9).

[список] Любой одиночный символ, входящий в список.

[!список] Любой одиночный символ, не входящий в список.

Список можно оформлять через запятую - получается конкретная выборка или через дефис - получается диапазон.

Сохранить запрос. Закрыть запрос.

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

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

Создать новый запрос (на закладке Запросы выбрать Создать, далее Конструктор, ОК). Добавить на бланк запроса таблицу, указанную в карточке. Заполнить бланк полями, указанными в карточке.

В первом пустом столбце запроса в строке поле, введите формулу из карточки. Для удобства можно нажать комбинацию клавиш SHIFT+F2, открывается вспомогательное окно, которое называется Область ввода. В нем можно ввести сколь угодно длинную формулу, а потом щелчком на кнопке ОК перенести ее в бланк запроса по образцу. Установить флажок вывод на экран. Выполнить запрос. Посмотреть результат в новом столбце. Сохранить запрос с названием ЗАПРОС 4.

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

Создать новый запрос (на закладке Запросы выбрать Создать, далее Конструктор, ОК). Добавить на бланк запроса поочередно таблицы, указанные в карточке. Заполнить бланк полями, указанными в карточке. Выполнить запрос. Проанализировать результат. Сохранить запрос с названием ЗАПРОС 5.

Задание 6. Итоговые запросы

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

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

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

Итоговые запросы создают на основе известного нам бланка запроса по образцу, только теперь в нем появляется дополнительная строка — Группировка.

Для введения этой строки в бланк надо щелкнуть в меню Вид на Групповые операции.

Далее все происходит очень просто.

  • В тех полях, по которым производится группировка, надо уста­новить (или оставить) функцию Группировка.

  • В тех полях, по которым следует провести итоговое вычисле­ние, надо в строке Группировка раскрыть список и выбрать одну из нескольких итоговых функций.

  • Щелчок на кнопке Вид запускает запрос и выдает результирую­щую таблицу с необходимыми итоговыми данными.

  • В строке Группировка можно указать лишь одну итоговую функцию. А как быть, если надо найти и сумму, и среднее, и максимальное значение, и еще что-то? Решение простое: одно и то же поле можно включить в бланк запроса по образцу несколько раз.

Создать новый запрос (на закладке Запросы выбрать Создать, далее Конструктор, ОК). Добавить на бланк запроса таблицу, указанную в карточке. Заполнить бланк полями, указанными в карточке. Добавить строку Групповые операции. Установить в этой строке для каждого столбца указанные в карточке значения. Выполнить запрос. Проанализировать результат. Сохранить запрос с названием ЗАПРОС 6. Закрыть запрос.