Главная arrow Учебники arrow Информатика и ИКТ 10-11 класс Семакин 2012 arrow §35 Логические условия выбора данных

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

Информатика и ИКТ 10-11 класс Семакин, Информатика 10-11 класс Семакин, Логические условия выбора данных

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

A

B

НЕ A

A И B

А ИЛИ B

ИСТИНА

ИСТИНА

ЛОЖЬ

ИСТИНА

ИСТИНА

ИСТИНА

ЛОЖЬ

ЛОЖЬ

ЛОЖЬ

ИСТИНА

ЛОЖЬ

ИСТИНА

ИСТИНА

ЛОЖЬ

ИСТИНА

ЛОЖЬ

ЛОЖЬ

ИСТИНА

ЛОЖЬ

ЛОЖЬ

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

Ключи

записей

Поля

A

B

C

R1

1

2

3

R2

1

3

1

RS

2

2

2

R4

3

3

3

R5

3

2

3

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

Условие:

Ответ:

1) А=1 И В=2

: R1

2) А=1 ИЛИ А=3

: R1, R2, R4, R5

3) А=1 ИЛИ В=2

: R1, R2, R3, R5

4) А=1 ИЛИ Б=2 ИЛИ С=3

: R1, R2, R3, R4, R5

5) А=1 И В=2 И С=3

: R1

6) НЕ А=1

: R3, R4, R5

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

Условие:

Ответ:

7) А=1 И В=2 ИЛИ С=3

: R1, R4, R5

8) А=1 ИЛИ В-2 И С=3

: R1,R2,R5

9) НЕ А=1 ИЛИ В=2 И С=3

: R1, R3, R4, R5

10) (А=1 ИЛИ Б=2) И С=3

: R1, R5

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

Условие:

Ответ:

11) B>=A

:R1, R2, R3, R4

12) B>=A И B>=C

:R2, R3, R4

13) A=B ИЛИ A=C

:R2, R3, R4, R5

14) C=A + В

:R1

В компьютерном практикуме вы уже познакомились с табличной формой представления условий запроса в конструкторе запросов. Можно говорить о том, что в конструкторе запросов используется табличный способ представления логических выражений. Разберемся подробнее с этим способом.
В ячейках таблицы конструктора запросов записываются условия, накладываемые на значения соответствующих полей. Условия, стоящие в одной строке, выполняются одновременно, т. е. они соединяются между собой операцией И; условия в разных строках соединяются операцией ИЛИ.
Таблица играет роль фильтра при выборе записей из БД: сначала отбираются записи, удовлетворяющие условиям первой строки, затем к ним добавляются записи, удовлетворяющие условиям второй строки, и т. д.
В следующей таблице приведены примеры реализации логических выражений табличным методом, применяемым в конструкторе запросов. Использованы условия выбора из рассмотренного выше формального примера.

Условие

А

В

С

1) А=1 И В=2

= 1

=2

 

2) А=1 ИЛИ А=3

=1

 

 

 

=3

 

 

3) А=1 ИЛИ В=2

=1

 

 

 

 

=2

 

4) А=1 ИЛИ В=2 ИЛИ С=3

=1

 

 

 

 

=2

 

 

 

 

=3

5) А=1 И В=2 И С=3

=1

=2

=3

6) НЕ А=1

<>1

 

 

7) А=1 И B=2 ИЛИ С=3

=1

=2

 

 

 

 

=3

8) А=1 ИЛИ B=2 И С=3

=1

 

 

 

 

=2

=3

9) НЕ А=1 ИЛИ В=2 И С=3

<>1

 

 

 

 

=2

=3

10) (А=1 ИЛИ В=2) И С=3

= 1

 

=3

 

 

=2

=3

11) В>=А

 

>=[А]

 

12) B>=А И B>=С

 

>=[A] AND >=[С]

 

13) А=B ИЛИ A=C

=[B] ОН =[С]

 

 

14) C=A+B

 

 

=[A]+[B]

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

Условия выбора данных

Условие выбора - логическое выражение

Простое логическое выражение

Сложное (составное) логическое выражение

Операция отношения или логическое поле

Отношения -1- логические поля + логические операции

Основные логические операции

НЕ

(отрицание)

И

(логическое умно­жение (конъюнк­ция))

ИЛИ

(логическое сложе­ние (дизъюнкция))

В конструкторе запросов (Access) - табличная форма представления условия выбора

И объединяет условия в одной строке

ИЛИ объединяет условия в разных строках