- •Тема №6: «Разработка базы данных» лекция №1: «Основные принципы разработки базы данных»
- •Лекция № 2: «Создание базы данных в субд Access»
- •Работа с полями таблиц
- •Работа с таблицами
- •Лекция №3: «Связи между таблицами»
- •Организация связей в окне схема данных
- •Обработка данных в таблице
- •Лекция №4: «Создание форм и использование запросов» Формы
- •Создание форм
- •Запросы
- •Создание запросов
- •Типы запросов на изменение
- •Свойства запросов
- •Лекция №5: «Создание выходной документации и способы защиты данных» Отчеты
- •Средства защиты данных
- •Макросы
- •Конструирование макросов
- •Создание группы макросов
- •Вызов макроса из другого макроса
- •Примеры логических выражений
- •Выполнение макроса.
- •Редактирование макросов
- •4. Копирование макросов.
Запросы
Общая характеристика запросов
Система управления базой данных позволяет не только хранить какую-либо информацию, но также и обрабатывать её. Это производится с помощью запросов, которые при обращении к БД получают конкретную, выборочную информацию.
Круг задач, решаемых при помощи запросов, чрезвычайно широк и многообразен, но в целом все виды запросов условно можно разделить на три большие группы.
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. Чтобы вычислить размер стипендии, необходимо создать выражение с помощью построителя выражений. Для этого вначале следует выбрать в строке Групповые операции четвертого столбца запроса с помощью разворачивающегося списка пункт Выражение. Затем находясь в этом поле нажать кнопку Построить и указать в построителе выражений формулу для вычисления размера стипендии.
Перекрестные запросы. В таких запросах используются групповые операции в виде электронных таблиц, т.е. в качестве названий строк и столбцов такой «таблицы» используются те или иные поля таблиц, а в ее «ячейках» будут отображаться вычисляемые значения, которые соответствуют значениям, указанным в названии строки и столбца. В качестве примера подобной электронной таблицы можно рассмотреть набор оценок, которые получил каждый студент по всем предметам. Заголовками строк такой таблицы будут фамилии студентов, заголовками столбцов – названия предметов, а на пересечении строк и столбцов будет отображаться оценка того или иного студента по данному предмету. При этом вычисляемые поля не могут быть отредактированы.однако перекрестные запросы очень полезны при оформлении отчетов.