Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
otvety_BD.doc
Скачиваний:
49
Добавлен:
17.09.2019
Размер:
1.74 Mб
Скачать

18.Классификация запросов. Особенности реализации запросов разных классов

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

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

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

Access позволяет создавать запросы двух типов: QBE-запросы, SQL-запросы.

  • QBE-запросы (Query By Example) — запросы, строящиеся с помощью конструктора запросов, представляющего собой графический инструмент для создания запросов по образцу.

  • SQL-запросы — запросы, строящиеся при помощи унифицированного набора инструкций SQL (Structured Query Language — структурированный язык запросов).

Все запросы в Access делятся на две группы: запросы-выборки, запросы-действия.

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

    1. Запрос к связанным таблицам — позволяет производить выборку данных из связанных таблиц.

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

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

    4. Запрос с вычисляемым полем — позволяет рассчитать данные на основе других полей из той же строки запроса.

    5. Запрос с критерием поиска — позволяет производить отбор записей в соответствии с заданным критерием поиска.

    6. Запрос с итогами — производит математические вычисления и выдает результат.

  1. Запросы-действия позволяют модифицировать данные в таблицах: удалять, обновлять, добавлять записи. К этой группе запросов относятся следующие.

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

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

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

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

Общая классификация запросов.

  1. По числу аргументов поиска в запросе: - Простые (запросы с простыми условиями, включающими только один аргумент поиска); - Сложные (>1) (Условие AND, Условие OR, Смешанные); - Без условия отбора.

  2. По числу таблиц, участвующих в запросе: - Однотабличные, - Многотабличные.

  3. По выполняемым действиям: - Поисковые, - Корректирующие (Замена, Вставка, Удаление), - Запрос на создание таблиц.

  4. По моменту задания значений аргументов поиска: - При задании запроса; - при выполнении запроса (параметрические запросы).

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

  6. По выполняемым действиям:

    1. Поисковые. Записывается условие отбора, возможно использование операторов (по умолчанию <=>), ограничители зависят от типа поля. 6.1.1. Повторяющиеся записи; 6.1.2. Записи без подчиненных.

    2. Корректирующие: добавление, удаление, обновление (+создание таблицы),

Перекрестные запросы - в составе табличных QBE-запросов.

В составе SQL-запросов: поисковые (SELECT),

      1. Добавление:

INSERT INTO имя таблицы [(имя столбца ...)]

выражение запроса | конструктор значений таблицы | {DEFAULT VALUES}

      1. Обновление:

UPDATE <имя таблицы> SET <имя столбца>=<новое значение>

[,<имя столбца>=<новое значение>...] [<предложение WHERE>];

      1. Удаление:

DELETE FROM <имя таблицы> [<предложение WHERE>];

[Если фраза WHERE в команде DELETE отсутствует, то будут удалены все строки таблицы]

  1. По наличию группировки:

    1. С подгруппировкой. Возможен только один уровень подгруппировки. Обязательность предварительного упорядочения БД зависит от СУБД (в Access - не обязательно). Состав полей, выводимых в ответ, Агрегирующие функции: -Count-Min-Max-Avg-SumGROUP by, подгруппировка с отбором.

    2. Без группировки.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]