Сортировка записей, простые и составные ключи сортировки | Выражение, содержащее логические операции, будем называть сложным логическим выражением

Планирование уроков на учебный год


Урок 24
Сортировка записей,
простые и составные ключи сортировки



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


Изучаемые вопросы:

- Понятие ключа сортировки.
- Составной ключ сортировки.
- Запросы на добавление и удаление записей

Основные темы:

- примеры сложных логических выражений;
- использование логических операций в условиях выборки;
- порядок выполнения операций в сложном условии выборки.

Содержание урока

Примеры сложных логических выражений

Использование логических операций в условиях выборки

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


Использование логических операций в условиях выборки


Вот как записываются соответствующие логические выражения:

1. ФАМИЛИЯ="Русанов" и ГЕОЛОГИЯ

2. ФАМИЛИЯ="Шляпина" и (ЦВЕТОВОДСТВО или ГЕОЛОГИЯ или ТАНЦЫ)

3. УЧЕНИК= "Аликин Петр" и (ФИЗИКА=4 или ФИЗИКА=5)

4. не АЛГЕБРА=2 и УЧЕНИК= "Галкина Нина"

5. ДЕНЬ=15/03/2007 и (ОСАДКИ= "дождь" или ОСАДКИ= "снег")

6. ДЕНЬ=17/03/2007 и ВЛАЖНОСТЬ<100

7. АВТОР="Беляев А.Р." и ГОД>=1990

8. АВТОР=" Толстой Л.Н." или АВТОР=" Тургенев И.О."

Здесь кроме знакомых вам отношений и имен логических полей используются смысловые связки и, или, не. Это служебные слова, которые выполняют роль знаков логических операций: и — логическое умножение (конъюнкция); или — логическое сложение (дизъюнкция); не — отрицание (инверсия).

imageВыражение, содержащее логические операции, будем называть сложным логическим выражением.

Пример 1.


Пусть требуется получить справку о книгах Беляева А.Р., изданных не раньше 1990 года, с указанием названия книги, года издания и полки, на которой стоит книга. Соответствующая команда имеет вид:

.выбрать НАЗВАНИЕ, ГОД, ПОЛКА где АВТОР=

"Беляев А.Р." и ГОД>=1990

Формирование справки происходит в такой последовательности: сначала вырезаются и склеиваются в одну таблицу все строки, удовлетворяющие первому отношению: АВТОР="Беляев А.Р.". Получается следующее

Затем из этой таблицы вырезаются строки, удовлетворяющие второму отношению: ГОД>=1990. Получаем:

И наконец, вырезаются столбцы, указанные в списке полей команды. На экран выведется справка:

Значит, выполнение конъюнкции происходит путем последовательного вырезания строк из таблицы.

Пример 2.


Требуется получить список всех книг Толстого Л.Н. и Тургенева И.С. Запрос на выборку пишется так:

.выбрать где АВТОР="Толстой Л.Н." или АВТОР="Тургенев И.С."

В этом случае строки, удовлетворяющие условиям АВТОР="Толстой Л. Н." или АВТОР="Тургенев И. С.", вырезаются одновременно из исходной таблицы. После их склеивания получаем:

Пример 3.


Требуется получить список всех книг, кроме книг Беляева. Запрос такой:

.выбрать АВТОР, НАЗВАНИЕ где не АВТОР="Беляев А.Р."

В этом случае вырезаются все строки, в которых значение поля АВТОР не равно «Беляев А.Р.». Строки склеиваются, а из полученной таблицы вырезаются столбцы АВТОР и НАЗВАНИЕ. После их склеивания получаем справку:

Порядок выполнения операций в сложном условии выборки


Если в сложном логическом выражении имеется несколько логических операций, то возникает вопрос, в каком порядке их выполнит компьютер. Это касается выражений под номерами 2, 3, 4, 5 в приведенных выше примерах.

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

1) отрицание (не);

2) конъюнкция (и);

3) дизъюнкция (или).

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

1 3 2

(ГОД=1987 или ГОД=1986) и (ПОЛКА=5 или ПОЛКА=1)

2 1 3

ГОД=1987 или ГОД=1986 и ПОЛКА=5 или ПОЛКА=1

Первое выражение истинно для записей с номерами 1,4,7. Второе истинно для записей с номерами 1, 3, 4, 6, 7. Постарайтесь понять почему.


Следующая страница Вопросы и задания









Наверх