ОДБ.13 Информатика и ИКТ.
Дата 07.10.2020 г. Группа № 24.
Тема 5.2. Базы данных.
Занятия № 13-15. Средства формирования запросов. Основные логические операции, используемые в запросах. Создание запросов на выборку данных с использованием мастера и конструктора.
Цели: Дать представление о средствах формирования запросов, основных логических операциях, используемых в запросах. Научиться создавать запросы на выборку данных с использованием мастера и конструктора.
Ход урока
I. Организационный момент
II. Контрольная проверка знаний
III. Изучение нового материала
Основные операции, которые пользователь может выполнять с использованием запросов это:
• создание новых таблиц на основе анализа данных в уже существующих таблицах базы данных;
• вычисление обобщённых данных (например, суммы, максимального или минимального значения и других) для заданных полей;
• нахождение значений новых свойств (то есть проведение вычислений), используя данные из разных таблиц или запросов;
• внесение изменений в уже существующие таблицы (например, обновление данных, вставка и удаление записей и других).
В зависимости от назначения запросов их разделяют на:
• запрос на выборку данных служит для создания подмножеств данных, которые можно использовать для получения ответов на определённые вопросы;
• перекрёстные запросы представляет собой специальный запрос итогового типа. Он отображает результаты итоговых статистических расчётов над значениями некоторого поля в виде перекрёстной таблицы. В ней значения одного или нескольких столбцов слева образуют заголовки строк, верхняя строка – заголовки столбцов из значений определённого поля, а на пересечении строк и столбцов – итоговые значения.
При построении запросов на выборку важное значение имеет правильная запись условий выбора.
Условие выбора — это логическое выражение, которое должно быть истинным для выбираемых записей БД.
Логические выражения представляются на языке математической логики, с элементами которой вы знакомились в курсе основной школы. Вспомним основные понятия логики, знание которых нам понадобится в дальнейшем.
1. Логическая величина — это величина, принимающая одно из двух значений — ИСТИНА (TRUE) и ЛОЖЬ (FALSE). В базах данных поле логического типа — это логическая величина.
2. Логическое выражение — это утверждение, которое может быть либо истинным, либо ложным. Логическое выражение состоит из логических констант, логических переменных, операций отношения и логических операций.
3. Операции отношения сравнивают значения двух величин. Знаки операций отношения: = (равно), <> (не равно), > (больше), < (меньше), >= (больше или равно), <= (меньше или равно). Сравнение числовых величин производится в их арифметическом смысле; сравнение символьных величин — с учетом порядка символов в таблице кодировки; величины типа «дата» и «время» сравниваются по их последовательности во времени.
4. Существуют три основные логические операции: отрицание — НЕ (NOT), конъюнкция — И (AND), дизъюнкция — ИЛИ (OR). Их правила выполнения отражаются в таблице истинности:
5. По убыванию старшинства логические операции расположены в следующем порядке: НЕ, И, ИЛИ. Для влияния на последовательность выполнения операций в логических выражениях могут употребляться круглые скобки.
Сначала потренируемся на формальном примере в составлении логических выражений — условий выбора записей из БД. Рассмотрим следующую таблицу:
Это однотабличная БД, в которой А, В, С являются числовыми полями, а R1, R2 и т. д. — идентификаторами (ключами) записей. Ниже приведены примеры условий выбора, содержащих логические операции, и результаты выбора, т. е. записи, удовлетворяющие этим условиям. Внимательно изучите эти примеры и постарайтесь понять их.
Из этих примеров важно усвоить правила выполнения операций конъюнкции (И) и дизъюнкции (ИЛИ). Каждая из этих операций объединяет два условия (отношения). В результате выполнения операции ИЛИ в одну выборку объединяются записи, удовлетворяющие каждому из условий. Операция И работает иначе: сначала выбираются все записи, удовлетворяющие первому условию, затем из отобранных записей выбираются те, которые удовлетворяют второму условию.
В каждом из следующих выражений присутствуют разные логические операции, поэтому при их выполнении нужно учитывать старшинство операций.
И наконец, приведем примеры, в которых значения одних полей сравниваются со значениями других полей, а также с арифметическими выражениями.
В компьютерном практикуме вы уже познакомились с табличной формой представления условий запроса в конструкторе запросов. Можно говорить о том, что в конструкторе запросов используется табличный способ представления логических выражений. Разберемся подробнее с этим способом.
В ячейках таблицы конструктора запросов записываются условия, накладываемые на значения соответствующих полей. Условия, стоящие в одной строке, выполняются одновременно, т. е. они соединяются между собой операцией И; условия в разных строках соединяются операцией ИЛИ.
Таблица играет роль фильтра при выборе записей из БД: сначала отбираются записи, удовлетворяющие условиям первой строки, затем к ним добавляются записи, удовлетворяющие условиям второй строки, и т. д.
В следующей таблице приведены примеры реализации логических выражений табличным методом, применяемым в конструкторе запросов. Использованы условия выбора из рассмотренного выше формального примера.
Обратите внимание на условие в примере 10. При записи в таблицу фактически произошло раскрытие скобок и данное логическое выражение заменилось эквивалентным выражением:
А=1 И С=3 ИЛИ В=2 И С=3
Имя поля, заключенное в квадратные скобки, идентифицирует значение этого поля в записи. Такое обозначение в принципе можно использовать во всех условных выражениях в конструкторе. Например, отношение А=1 в конструкторе запроса в столбце А можно записать в двух вариантах: 1) [А]=1, 2) =1. Второй вариант короче, поэтому обычно пользуются им. Условие в примере 13 можно было бы записать так: [А]=[В] OR [А]=[С].