Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
субд.doc
Скачиваний:
13
Добавлен:
08.05.2019
Размер:
859.65 Кб
Скачать

Запросы

Общая характеристика запросов

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

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

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

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

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

При работе запроса данные могут:

- Упорядочиваться (сортироваться);

- Фильтроваться (отсеиваться);

- Объединяться;

- Разделяться;

- Изменяться;

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

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

Работа с запросами мало, чем отличается от работы с таблицами. Можно открыть запрос и просмотреть так называемый динамический набор данных в табличном режиме. На основе запроса можно создать отчёт или форму. Сведения в запросе можно сохранять, изменять с параллельным сохранением изменений в самой таблице. Гибкость запросов позволяет пользоваться ими чаще, чем таблицами. Вместо просмотра всех таблиц можно получить ограниченный набор данных по различным условиям.

Программа предлагает создать и использовать следующие запросы: Простой запрос (мастер); Перекрёстный запрос (мастер); Параметрический запрос (конструктор); Повторяющиеся записи (мастер); Записи без подчинённых (мастер); Запросы на изменения (конструктор- запросы по образцу); Структурированные запросы (с помощью SQL-языка).

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

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

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

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

Сортировка – указывается направление сортировки для данного поля – по возрастанию или по убыванию.

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

Условие отбора, или – указывается одно или несколько условий, в соответствии с которыми записи будут добавляться в выборку.

Рисунок 4.4 – Вид окна Конструктора запросов

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

Рисунок 4.5 – Вид окна Мастера запросов. Выбор полей

После нажатия кнопки Далее будет отображено завершающее окно мастера, в котором необходимо указать название запроса и нажать кнопку Готово.

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

Таблица 4. 2 – Основные операторы, используемые при создании выражений

Оператор

Описание

+

Сложение чисел

-

Вычитание чисел

*

Умножение чисел

/

Деление чисел

\

Деление первого числа на второе с округлением результата

^

Возведение в степень

MOD

Вычисление остатка от деления нацело

&

Конкатенация строк

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

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

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

Таблица 4.3 – Основные итоговые функции

Функция

Описание

Sum

Суммирование значений в группе

Avg

Среднее значение для группы

Min

Минимальное значение для группы

Max

Максимальное значение для группы

Count

Подсчет числа значений в группе

First

Значение поля в первой записи группы

Last

Значение поля в последней записи группы

Для подсчета количества полученных оценок следует выбрать функцию Count, а для определения среднего бала – функцию Avg. Чтобы вычислить размер стипендии, необходимо создать выражение с помощью построителя выражений. Для этого вначале следует выбрать в строке Групповые операции четвертого столбца запроса с помощью разворачивающегося списка пункт Выражение. Затем находясь в этом поле нажать кнопку Построить и указать в построителе выражений формулу для вычисления размера стипендии.

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