Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
16-30.docx
Скачиваний:
9
Добавлен:
29.08.2019
Размер:
56.15 Кб
Скачать

То же, что и 24-м, я думаю.

  1. Понятие запроса. Средства формирования запросов.

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

  1. Виды запросов: запросы на выборку данных; запросы на изменение данных; управляющие запросы.

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

Управляющие запросы относятся к третьему типу запросов, которые создаются в окне Режим SQL и используют инструкции Jet SQL. Такие запросы позволяют работать с таблицами и индексами — создавать, изменять и удалять таблицы, создавать индексы.

Инструкции SQL, которые при этом используются, относятся к подмножеству SQL, называющемуся DDL — язык определения данных. Набор этих инструкций в Jet SQL существенно сокращен по сравнению со стандартом ANSI SQL, т. к. многие операции можно выполнить с помощью других средств (команд меню или окна базы данных).

В обычном режиме можно использовать следующие инструкции SQL:

CREATE TABLE — создает таблицу;

CONSTRAINT — создает уникальный индекс, в том числе по первичному ключу, а также применяется для установления отношений между таблицами;

ALTER TABLE — изменяет структуру таблицы, созданной с помощью инструкции CREATE TABLE;

DROP — удаляет таблицу из базы данных или удаляет индексы в таблице;

CREATE INDEX — создает индекс для поля или группы полей.

В режиме ANSI SQL-92 возможны дополнительно следующие инструкции:

CREATE PROCEDURE — создает хранимую процедуру; П CREATE VIEW — создает новое представление;

CREATE USER или GROUP — создает одного или нескольких новых пользователей или группу;

ADD USER — добавляет одного или нескольких существующих пользователей к существующей группе;

DROP USER или GROUP — удаляет одного или нескольких существующих пользователей или групп или исключает одного или нескольких существующих пользователей из существующей группы;

ALTER USER или DATABASE — изменяет пароль существующего пользователя или базы данных;

GRANT — предоставляет конкретные привилегии существующему пользователю или группе;

REVOKE — отменяет конкретные привилегии существующего пользователя или группы.

  1. События (database events).

  1. Правила (triggers).

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

Помимо привязки к конкретной инструкции по модификации данной таблицы (INSERT, UPDATE или DELETE) триггеры имеют конкретное время запуска. В общем случае триггеры могут запускаться до (BEFORE) обработки инструкции по модификации, после (AFTER) ее обработки или (если это поддерживается разработчиком) вместо обработки инструкции (INSTEAD OF). Триггеры, которые запускаются до или вместо инструкции по модификации, не видят изменений, производимых инструкцией, тогда как те триггеры, которые запускаются после модификации, могут видеть эти изменения и воздействовать на них.

Триггеры используют две псевдотаблицы. Эти псевдотаблицы являются таковыми в том смысле, что они не объявляются при помощи инструкций CREATE TABLE, но логически существуют в базе данных. Эти псевдотаблицы на разных платформах имеют разные имена, но мы будем здесь называть их Before и After. Их структура в точности повторяет структуру таблицы, с которой связан триггер. Таблица Before содержит моментальный снимок всех строк таблицы до запуска триггера, а таблица After - снимок всех записей после события, запустившего триггер. С помощью операторов сравнения вы можете сравнивать данные до и после запуска триггера, определяя, что точно нужно сделать.