Виды запросов и способы их организации.
Определение. Любые манипуляции с данными в базах данных, такие как выбор, вставка, удаление, обновление данных, изменение или выбор метаданных, называются запросами к базе данных (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. БД работает с ИС.
II. СУБД бывают (укажите правильные ответы):
1. Иерархические;
2. Операционные;
3. Реляционные;
4. Коммуникационные;
5. Сетевые.
III. Какое из перечисленных понятий НЕ является типом данных:
1. Число;
2. Строка символов;
3. Дата;
4. Фамилия;
5. Логическое значение.
IV. В реляционной модели данных:
1. БД всегда состоит из одной таблицы;
2. В разных таблица не может быть полей с одинаковыми именами;
3. Каждая таблица должна иметь первичный ключ;
4. Каждая таблица должна быть связана со всеми остальными;
5. Предыдущие 4 утверждения неверны.
V. Укажите, какие из следующих определений эквиваленты:
1. Отношение и таблица;
2. Атрибут и кортеж;
3. Строка и запись;
4. Атрибут и столбец;
5. Кортеж и поле.
VI. Первичный ключ – это… (выберите наиболее точное определение):
1. Поле, которое стоит в таблице на первом месте;
2. Поле, по значению которого можно сортировать записи;
3. Поле, по значению которого можно искать записи;
4. Поле, значение которого не может повторяться;
5. Поле, которое можно безболезненно убрать без потери смысла.
VII. Какие из следующих полей не могут быть первичным ключом:
1. ФИО;
2. Год рождения;
3. Пол;
4. № паспорта;
5. Должность.
VIII. Структура таблицы БД – это…:
1. Информация о количестве записей в таблице;
2. Перечень прав доступа к таблице;
3. Множество полей и атрибутов;
4. Список атрибутов и их типов;
5. Набор первичных ключей.
IX. Какие операции допустимы над записями в таблице:
1. Сложение;
2. Удаление;
3. Слияние;
4. Редактирование;
5. Добавление.
X. Запросы к БД могут быть (укажите правильные ответы):
1. На выборку;
2. На модификацию;
3. На копирование;
4. На сортировку;
5. На удаление.
XI. Какое из следующих условий запроса выберет записи, относящиеся к тем весенним дням, когда температура воздуха была не ниже 10°С:
1. (месяц = “март” ИЛИ месяц = “апрель” ИЛИ месяц = “май” ИЛИ температура >= 10);
2. (месяц = “март” ИЛИ месяц = “апрель” И месяц = “май” ИЛИ температура > 10);
3. (месяц >= “март” И месяц <= “май” И температура >= 10);
4. ((месяц = “март” ИЛИ месяц = “апрель” ИЛИ месяц = “май”) И температура >= 10);
5. (месяц = “март” И месяц = “апрель” И месяц = “май” И температура >= 10).
XII. Укажите название объектов БД, с помощью которых осуществляется хранение пользовательских отчетных форм:
1. Таблица;
2. Представление;
3. Индекс;
4. Поле;
5. Метаданные.
11. Мультимедийные технологии
p Понятие мультимедиа. Гипертекст и гипермедиа. Объекты мультимедиа.
p Средства обеспечения мультимедиа-технологий.
p Схемы хранения и воспроизведения мультимедиа-файлов.
p Средства создания мультимедиа документов (обзор).