И конструктора запросов

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

Создание запросов с помощью мастера запросов

и конструктора запросов

Цель работы - получить практические навыки разработки запросов различных типов.

Форма отчета: Выполнение зачетного задания.

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

В Accessсуществует несколько типов запросов:

- запросы на выборку;

- запросы с параметрами;

- перекрестные запросы;

- запросы на изменение (запросы на создание таблицы, удаление,

обновление, добавление записей);

- запросы SQL (запросы на объединение, запросы к серверу, управляющие запросы, подчиненные запросы).

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

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

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

Внутренние соединения чаще всего применяются для создания запросов на выборку. Если таблицы связаны соотношением “один-ко-многим”, объединения основываются на значении поля первичного ключа одной таблицы и значениях поля внешнего ключа другой таблицы. В результирующее множество запроса попадают все записи из главной таблицы (таблица “один”), для которых имеются соответствующие записи в подчиненной таблице (таблице “многие”). Внутренние соединения отображают в динамическом наборе соответствующие записи в объединенных полях таблиц как одну запись. Подобного рода соединения между таблицами создаются автоматически, если в таблицах имеются поля с одинаковыми именами и согласованными типами, причем одно из полей является ключевым либо это соединение явно задано в окне Схема данных. “Согласованные типы” в большинстве случаев означают одинаковые типы. Исключением является поле типа Счетчик, которое может иметь размер длинного целого или кода репликации и может связываться с числовыми полями соответствующего размера. Для обозначения внутренних соединений в Access используются зарезервированные слова INNER JOIN.

Для создания запроса, объединяющего все записи из одной таблицы и только те записи из второй таблицы, в которых связанные поля совпадают, используют внешнее соединение. В Access применяются правые (RIGHT JOIN) и левые (LEFT JOIN ) внешние соединения. Запрос, основанный на таблицах с левым внешним соединением, отображает все записи главной таблицы (таблица “один”) с уникальным ключевым полем, независимо от того, имеются ли в связанных полях подчиненной таблицы (таблице “многие”) совпадающие значения. Запрос, основанный на таблицах с правым внешним соединением, отображает все записи таблицы многие, независимо от того, существуют ли в связанных с ними полях главной таблицы совпадающие значения. Записи в таблице со стороны многие, не имеющие связанных с ними записей в таблице один, обычно, но не обязательно, относятся к зависшим записям. Поэтому внешние соединения используются в системе поддержки БД для удаления из таблиц “зависших” записей и дублирования данных в результате создания новых таблиц, содержащих записи с уникальными значениями.

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

Соединения по отношению (тэта-соединения) связывают данные с помощью операторов сравнения, отличных от оператора равенства (=).

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

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

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


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



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