Учебник для 11 класса

Информатика

       

§ 9. Логические условия выбора данных

При построении запросов на выборку важное значение имеет правильная запись условий выбора.

Условие выбора — это логическое выражение, которое должно быть истинным для выбираемых записей БД.

Логические выражения представляются на языке математической логики, с элементами которой вы знакомились в курсе основной школы. Вспомним основные понятия логики, знание которых нам понадобится в дальнейшем.

  1. Логическая величина — это величина, принимающая одно из двух значений — ИСТИНА (TRUE) и ЛОЖЬ (FALSE). В базах данных поле логического типа — это логическая величина.
  2. Логическое выражение — это утверждение, которое может быть либо истинным, либо ложным. Логическое выражение состоит из логических констант, логических переменных, операций отношения и логических операций.
  3. Операции отношения сравнивают значения двух величин. Знаки операций отношения: = (равно), <> (не равно), > (больше), < (меньше), >= (больше или равно), <= (меньше или равно). Сравнение числовых величин производится в их арифметическом смысле; сравнение символьных величин — с учетом порядка символов в таблице кодировки; величины типа «дата» и «время» сравниваются по их последовательности во времени.
  4. Существуют три основные логические операции: отрицание — НЕ (NOT), конъюнкция — И (AND), дизъюнкция — ИЛИ (OR). Их правила выполнения отражаются в таблице истинности:

  1. По убыванию старшинства логические операции расположены в следующем порядке: НЕ, И, ИЛИ. Для влияния на последовательность выполнения операций в логических выражениях могут употребляться круглые скобки.

Сначала потренируемся на формальном примере в составлении логических выражений — условий выбора записей из БД. Рассмотрим следующую таблицу:

Это однотабличная БД, в которой А, В, С являются числовыми полями, а R1, R2 и т. д. — идентификаторами (ключами) записей. Ниже приведены примеры условий выбора, содержащих логические операции, и результаты выбора, т. е. записи, удовлетворяющие этим условиям. Внимательно изучите эти примеры и постарайтесь понять их.

Из этих примеров важно усвоить правила выполнения операций конъюнкции (И) и дизъюнкции (ИЛИ). Каждая из этих операций объединяет два условия (отношения). В результате выполнения операции ИЛИ в одну выборку объединяются записи, удовлетворяющие каждому из условий. Операция И работает иначе: сначала выбираются все записи, удовлетворяющие первому условию, затем из отобранных записей выбираются те, которые удовлетворяют второму условию.

В каждом из следующих выражений присутствуют разные логические операции, поэтому при их выполнении нужно учитывать старшинство операций.

И наконец, приведем примеры, в которых значения одних полей сравниваются со значениями других полей, а также с арифметическими выражениями.

В компьютерном практикуме вы уже познакомились с табличной формой представления условий запроса в конструкторе запросов. Можно говорить о том, что в конструкторе запросов используется табличный способ представления логических выражений. Разберемся подробнее с этим способом.

В ячейках таблицы конструктора запросов записываются условия, накладываемые на значения соответствующих полей. Условия, стоящие в одной строке, выполняются одновременно, т. е. они соединяются между собой операцией И; условия в разных строках соединяются операцией ИЛИ.

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

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


Обратите внимание на условие в примере 10. При записи в таблицу фактически произошло раскрытие скобок и данное логическое выражение заменилось эквивалентным выражением:

Имя поля, заключенное в квадратные скобки, идентифицирует значение этого поля в записи. Такое обозначение в принципе можно использовать во всех условных выражениях в конструкторе. Например, отношение A=1 в конструкторе запроса в столбце А можно записать в двух вариантах: 1) [A]=l, 2) =1. Второй вариант короче, поэтому обычно пользуются им. Условие в примере 13 можно было бы записать так: [А]=[В] OR [А]=[С].

Система основных понятий

Вопросы и задания

  1. а) Что такое логическое выражение?

    б) Какие существуют основные логические операции? Что такое таблица истинности?

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

    а) А=2 И В=2;

    б) А=2 ИЛИ В=2;

    в) А=2 И В=1 ИЛИ С=З;

    г) А>В;

    д) С=А+В;

    е) A=l ИЛИ А=2;

    ж) В>1И В<З.

  3. Все условия из предыдущего задания представьте в табличной форме, т. е. на языке конструктора запросов.

Top.Mail.Ru
Рейтинг@Mail.ru