Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СУБД_часть теории.docx
Скачиваний:
4
Добавлен:
21.09.2019
Размер:
174.76 Кб
Скачать

Запросы, выборка

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

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

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

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

При выполнении запроса MS Access создает набор записей, содержащий выбранные данные. Этот набор называется выборкой или динамиче­ской таблицей.

Выборка (динамическая таблица) – представленный на экране ре­зультат выполнения запроса.

С выборкой можно работать так же, как с таблицей – просматривать, печатать, обновлять данные. Однако этот набор записей, в отличие от реальных таблиц, не существует в базе данных. MS Access создает его из данных таблиц и других запросов только во время выполнения опре­деленного запроса. При изменении данных выборки Access вносит соот­ветствующие изменения в таблицы, на базе которых построен запрос. Таким образом, выборка представляет собой динамическое множество записей данных, которое постоянно обновляется. Удаленные из таблиц базы данных записи не будут появляться в выборке, новые же записи будут добавлены. Любые изменения записей выборки отражаются на состоянии соответствующих записей таблиц базы данных и наоборот.

По способу формирования запросы можно разделить на два вида:

  • запросы по образцу или QBE-запросы (Query By Example), при создании которых необходимо указать параметры запроса в окне Конструктора, задавая образцы для поиска информации;

  • структурированные запросы или SQL-запросы (Structured Query Language - язык структурированных запросов), для создания кото­рых необходимо описать запрос с помощью языка запросов SQL, используя специальные команды и функции. Таким образом, SQL-запрос представляет собой последовательность команд, выражений и функций.

В действительности же любой запрос в MS Access реализуется с помо­щью языка SQL. И хотя большинство запросов можно создавать, ис­пользуя возможности запроса по образцу, даже в этом случае каждый созданный запрос хранится в виде инструкции SQL. При создании за­проса по образцу MS Access автоматически формирует соответствую­щую инструкцию SQL. Можно просмотреть инструкцию SQL для суще­ствующего запроса и внести в нее изменения. В этом случае автомати­чески будет обновляться определение соответствующего запроса по образцу в режиме конструктора.

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

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

  • параметрические запросы (или запросы с параметрами), которые позволяют задавать конкретные условия отбора непосредственно при выполнении запроса;

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

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

Существует четыре типа запросов на изменение: запросы на удаление, обновление, добавление и создание таблицы.

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

  • Запрос на обновление вносит общие изменения в группу записей одной или нескольких таблиц.

  • Запрос на добавление добавляет группу записей из одной или нескольких таблиц в конец одной или нескольких таблиц.

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

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

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

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

Таким образом, вычисляемое поле – поле, определенное в запросе для вывода результата вычисления выражения (а не для сохранения дан­ных).

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

Для построения запроса в Access могут быть использованы мастер запросов или конструктор запросов.

Конструктор запросов позволяет создавать новые и изменять существующие запросы, поэтому он является основным способом при создании запросов QBE.

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

Назначение строк в бланке Конструктора запросов:

1 -я строка - Поле - для ввода имени поля запроса и обозначения поля — источника данных или вычисляемого выражения;

2-я строка - Имя таблицы - предназначена для задания имени таблицы — источника данных;

3-я строка - Сортировка - предназначена для указания порядка сортировки в данном поле. Может принимать следующие значения: по возрастанию, по убыванию, отсутствует;

4-я строка - Вывод на экран - содержит флажок, указывающий на то, будет ли выводиться соответствующее значение поля;

5 -я строка и др. - Условие отбора - содержит критерий, по которому будет происходить отбор записей в результирующую таблицу.

Мастер запросов позволяет создавать следующие виды запросов:

  • простой запрос (выборка из определенных полей)

  • перекрестный запрос

  • повторяющиеся записи (поиск повторяющихся записей)

  • запрос без подчиненных (поиск записей, которым не соответствует ни одна запись в подчиненной таблице)

ФОРМЫ

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

Источником данных для формы являются записи таблицы или запроса.

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

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

С оздание форм может быть выполнено различными способами:

  • инструмент Форма

  • Разделенная форма

  • Форма с отображением нескольких записей

  • Мастер форм (автосоздание формы на основании указанных полей и их форматов)

  • В режиме Макета

  • В режиме Конструктора.

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

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

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

Готовая форма обычно может быть представлена в режимах формы, макета и конструктора (Главная – Режимы…).

Режим формы позволяет отображать данные и вводить новые.

В режиме макета можно внести изменения в структуру формы при одновременном отображении данных

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