Виды запросов и способы их организации.

Определение. Любые манипуляции с данными в базах данных, такие как выбор, вставка, удаление, обновление данных, изменение или выбор метаданных, называются запросами к базе данных (query).

Примечание.

Обычно запросы формулируются на каком-либо языке, который может быть как стандартным для разных СУБД, так и зависящим от конкретной СУБД.

В общем случае, запрос к БД — это текст на языке запросов, содержащий условиедля поиска данных и указание, чтонеобходимо проделать с найденными данными. Условие необходимо для отбора (выборки) тех записей таблицы, которые нужны пользователю. В результате выборки могут быть получены ноль, одна или несколько записей, удовлетворяющих заданному условию. В зависимости от операции, которая совершается над отобранными данными, запросы бывают:

§ На выборку – данные только просматриваются, но не изменяются;

§ На модификацию – у всех записей изменяются значения одного или нескольких полей;

§ На удаление – все отобранные записи уничтожаются.

Разные СУБД реализуют различные языки запросов, но среди всех языков в настоящее время наибольшее распространение получил структурированный язык запросов SQL (Structured Query Language).[24])

При формировании условия запроса используется аппарат алгебры логики. Условие запроса формируется из логических выражений, соединенных логическими связками. Результатом каждого логического выражения и условия запроса в целом является логическое значение ИСТИНА (TRUE) или ЛОЖЬ (FALSE), в зависимости от того, удовлетворяют записи таблицы указанному условию или нет. Соответственно, только те записи таблицы, для которых условие запроса возвращает ИСТИНУ, будут отобраны и подвергнуться дальнейшей обработке.

Логическое выражение формируется следующим образом:

Имя_поля Операция_сравнения Значение,

где

Имя_поля – имя поля таблицы в БД;

Операция_сравнения – одно из:

= (равно)

(не равно)

(больше)

(меньше)

= (больше или равно)

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

Пример: Вот как выглядят логические выражения запросов:

ФИО = «Иванов И.И.», Оценка = 4, Разряд 3.

Примечание.

Только условия простых запросов состоят из единственного логического выражения, обычно же для формирования условия используются логические связки И (AND), ИЛИ (OR) и операция логического отрицания НЕ (NOT).

В общем случае условие запроса выглядит так:

Логич_выражение Логич_связка_(И, ИЛИ) Логич_выражение […],

Здесь логические связки И, ИЛИ соединяют два или больше логических выражений в одно, при этом результирующее выражение дает ИСТИНУ, если оба подвыражения ИСТИННЫ (логическая связка И), или если хотя бы одно из подвыраважений ИСТИННО (логическая связка ИЛИ). Логическое отрицание НЕ ставится непосредственно перед логическим выражением и изменяет его значение на противоположное, а не служит для связывания двух подвыражений.

Пример: Вот как выглядят сложные логические выражения запросов:

§ (ФИО = «Иванов» И Оценка = 4)– только хорошисты и отличникиИвановы;

§ (ФИО = «Иванов» И ФИО = «Петров»)– всегдаЛОЖЬ;

§ (ФИО = «Иванов» ИЛИ Оценка = 4)– или хорошисты и отличники илиИвановы;

§ (ФИО = «Иванов» ИЛИ ФИО = «Петров»)– всеИвановыиПетровы;

§ НЕ (Оценка = 4)– равносильно(Оценка 4).

Примечание.

Приоритет операции НЕ выше приоритета операции И, а приоритет операции И выше, чем операции ИЛИ. По этим причинам в некоторых случаях необходимо ставить скобки, чтобы изменить порядок выполнения операций.

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

§ (ФИО = «Иванов» ИЛИ ФИО = «Петров» И Оценка 4) – все Ивановы и отличники Петровы;

§ ((ФИО = «Иванов» ИЛИ ФИО = «Петров») И Оценка 4) – только отличники Ивановы и Петровы–последнее выражение равносильно более длинному ((ФИО = «Иванов» И Оценка 4) ИЛИ (ФИО = «Петров» И Оценка 4));

§ (НЕ Разряд = 3 И ФИО = «Матвеева») –всеМатвеевы,но не третьего разряда;

§ (НЕ (Разряд = 3 И ФИО = «Матвеева»)) – кто угодно, но только не Матвеевы третьего разряда, равносильно (Разряд 3 ИЛИ ФИО «Матвеева»).

10.9.Тренировочные тестовые задания по разделу 10.

(могут быть более одного правильного ответа, правильные ответы см. в конце пособия).

I. Какие из следующих утверждений верны:

1. ИС – это разновидность СУБД;

2. СУБД – это разновидность ИС;

3. СУБД управляет БД;

4. БД управляет СУБД;

5. БД работает с ИС.

Как создать ЗАПРОС С УСЛОВИЕМ в базе данных MS ACCESS

Похожие статьи:

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Adblock
detector