KNOWLEDGE HYPERMARKET


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

Гипермаркет знаний>>Информатика>>Информатика 9 класс>>Информатика: Условия выбора и простые логические выражения



§ 13. Условия выбора и простые логические выражения


Основные темы параграфа:

♦ понятие логического выражения;
♦ операции отношения;
♦ запрос на выборку и простые логические выражения.


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

Чаще всего для справки требуются не все записи, а только часть из них, удовлетворяющая какому-то условию. Это условие называется условием выбора. Например, из таблицы «Погода» требуется узнать, в какие дни шел дождь; или из таблицы «Факультативы» — определить, кто занимается одновременно цветоводством и танцами; или из таблицы «Успеваемость» — получить список всех отличников по алгебре и физике.

В командах СУБД условие выбора записывается в форме логического выражения.

Логическое выражение, подобно математическому выражению, выполняется (вычисляется), но в результате получается не число, а логическое значение: истина (true) или ложь (false). Логическая величина — это всегда ответ на вопрос, истинно ли данное высказывание.


Таблица 3.4. Высказывания и их логические значения

Высказывания Номер записи Значение

БД «Погода»
1. Идет дождь. 1 Ложь
2. Давление больше 740 мм рт. ст. 2 Истина
3. Влажность не 100%. 3 Ложь

БД «Домашняя библиотека»
4. Книга стоит ниже пятой полки. 3 Истина
5. Автор книги — Толстой Л. Н. 3 Ложь

БД «Факультативы»
6. Фамилия ученика — Русанов. 1 Истина
7. Ученик занимается цветоводством. 1 Ложь
8. Ученик занимается танцами. 1 Истина

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

1. ОСАДКИ = "дождь" 5. АВТОР = "Толстой Л.Н."
2. ДАВЛЕНИЕ > 740 6. ФАМИЛИЯ = "Русанов"
3. ВЛАЖНОСТЬ <> 100 7. ЦВЕТОВОДСТВО
4. ПОЛКА < 5 8. ТАНЦЫ


Операции отношения

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

= равно; < меньше;
<> не равно; >= больше или равно;
> больше; <= меньше или равно.

Как выполняются отношения для числовых величин, вам должно быть понятно из математики. (В математике отношения называются неравенствами.) Для символьных величин требуется пояснение.

Отношение «равно» истинно для двух символьных величин, если их длины одинаковы и все соответствующие символы совпадают. Следует учитывать, что пробел — это тоже символ. Например, отношение

АВТОР="Беляев А.Р."

не будет истинным ни для одной записи нашей таблицы, поскольку в таблице везде между фамилией и инициалами стоит один пробел, а в данном отношении — два.

Символьные величины можно сопоставлять и в отношениях <, >, <=, >=. Здесь упорядоченность слов (последовательностей символов) определяется по алфавитному принципу. Вот фрагмент из орфографического словаря, содержащий последовательно расположенные в нем слова:

квартет, компонент, конверт, конвульсия.

Между этими словами истинны следующие отношения:

квартет < компонент;
компонент < конверт;
конверт < конвульсия.

Значения полей типа «дата» при выполнении отношений сравниваются в соответствии с календарной последовательностью. Например, истинны отношения:

3/12/1998 < 23/04/2001;
24/09/2004 > 23/09/2004.

В некоторых СУБД используется тип «время» со следующим форматом значений: ЧЧ:ММ:СС (часы, минуты, секунды). При выполнении отношений учитывается хронологическая последовательность. Например, истинны отношения:

12:53:08 > 03:40:00;
23:05:12 < 23:05:13.

А теперь вернемся к приведенным выше примерам логических выражений. В примерах 7 и 8 нет никаких знаков отношений. Дело в том, что поля с именами ЦВЕТОВОДСТВО иТАНЦЫ имеют логический тип. Поэтому в каждой записи их значения — это логические величины «ложь», «истина».

Одна величина логического типа — простейшая форма логического выражения. Следовательно, условие выбора может содержать в своей записи в том числе имя логического поля.


Запрос на выборку и простые логические выражения

Запишем несколько команд для получения справки, используя условия выбора. Вот как выглядит команда запроса информации из БД «Погода» о датах всех дождливых дней:

. выбрать ДЕНЬ где ОСАДКИ = "дождь"

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

ДЕНЬ
18/03/04

Следующая команда позволяет вывести даты и влажность, соответствующие тем дням, когда атмосферное давление было выше 745 мм рт. ст.:

.выбрать ДЕНЬ, ВЛАЖНОСТЬ где ДАВЛЕНИЕ >745.

ДЕНЬ ВЛАЖНОСТЬ
15/03/04 67
16/03/04 62
19/03/04 87

Запишем команду запроса справки к БД «Домашняя библиотека»: вывести названия книг и фамилиии и инициалы авторов, фамилии которых начинаются с буквы «О» и далее по алфавиту:

.выбрать АВТОР, НАЗВАНИЕ где АВТОР >= «О»

АВТОР НАЗВАНИЕ
Тургенев И.С Повести и рассказы
Олеша Ю.К. Избранное
Тынянов Ю.Н. Кюхля
Толстой Л.Н. Повести и рассказы

А теперь запрос к БД «Факультативы»: вывести список фамилий всех учеников, посещающих танцы:

.выбрать ФАМИЛИЯ где ТАНЦЫ.

ФАМИЛИЯ
Русанов
Зотова
Шляпина

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

Многие СУБД позволяют в отношениях использовать арифметические выражения. Арифметические выражения могут включать в себя числа, имена полей числового типа, знаки арифметических операций, круглые скобки*.

*В некоторых СУБД такая возможность реализуется через специально организуемые вычисляемые поля.

Рассмотрим базу данных, содержащую таблицу успеваемости учеников (табл. 2.3).

Требуется получить список учеников, у которых сумма баллов по гуманитарным предметам больше, чем по естественным. Следует отдать команду:

.выбрать УЧЕНИК где РУССКИЙ + ИСТОРИЯ + МУЗЫКА > АЛГЕБРА + ХИМИЯ + ФИЗИКА

В результате получим:

Ботов Иван;
Галкина Нина.

Следующая команда запрашивает фамилии учеников, у которых оценка по алгебре выше их среднего балла:

.выбрать УЧЕНИК где АЛГЕБРА > (РУССКИЙ + АЛГЕБРА + ХИМИЯ + ФИЗИКА + ИСТОРИЯ + МУЗЫКА)/6

Ответ:          Аликин Петр;
                     Галкина Нина.


Коротко о главном

Логическое выражение вычисляется подобно математическому, но может принимать всего два значения: истина (true) или ложь (false).

Простейшая форма логического выражения — одна величина логического типа.

Отношение — форма логического выражения. Существует шесть вариантов отношений: «равно», «не равно», «больше», «меньше», «больше или равно», «меньше или равно». Отношения применимы ко всем типам полей.

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


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

1. Какую роль выполняет условие выбора? После какого служебного слова записывается это условие в команде выбрать?
2. Что такое логическое выражение? Какие значения оно принимает?
3. Какое логическое выражение называется простым?
4. Какие виды отношений используются в логических выражениях? Как записываются знаки отношений?
5. Как сравниваются символьные величины, даты, логические величины?
6. В следующих простых логических выражениях поставьте вместо знаков вопроса такие знаки отношений, при которых эти выражения будут истинны в указанных записях баз данных.
а) БД «Погода», запись номер 3.
       ВЛАЖНОСТЬ ? 90
       ОСАДКИ ? "дождь"
б) БД «Домашняя библиотека», запись номер 1.
       АВТОР ? "Толстой Л.Н."
       ГОД ? 1990
в) БД «Успеваемость», запись номер 4.
       ФИЗИКА ? 2
7. Данные высказывания запишите в форме простых логических выражений и определите результат их вычисления для указанных записей.
а) БД «Погода», запись номер 2.
       Температура выше нуля.
       Осадков нет.
б) БД «Домашняя библиотека», запись номер 3.
       Книга издана в 1982 году.
       Книга находится ниже пятой полки.
в) БД «Факультативы», запись номер 4.
       Ученик занимается геологией.
       Фамилия ученицы — Шляпина.
8. Запишите следующие высказывания в форме логических выражений:
а) фамилия ученика — не Семенов;
б) ученик занимается геологией;
в) дата — раньше 5 мая 1989 года;
г) дата — не позже 23 сентября 1996 года;
д) по алгебре — не отлично;
е) автор книги — Беляев А.Р.;
ж) книга издана до 1990 года;
з) книга находится не ниже третьей полки.
9. Запишите в форме команды. Выбрать запросы, использующие в качестве условий простые логические выражения, полученные в результате выполнения предыдущего задания.



И. Семакин, Л. Залогова, С. Русаков, Л. Шестакова, Информатика, 9 класс
Отослано читателями из интернет-сайтов


Вся информатика онлайн, список тем по предметам, сборник конспектов по информатике, домашняя работа, вопросы и ответы, рефераты по информатике 9 класс, планы уроков


Содержание урока
1236084776 kr.jpg конспект урока                       
1236084776 kr.jpg опорный каркас  
1236084776 kr.jpg презентация урока
1236084776 kr.jpg акселеративные методы 
1236084776 kr.jpg интерактивные технологии 

Практика
1236084776 kr.jpg задачи и упражнения 
1236084776 kr.jpg самопроверка
1236084776 kr.jpg практикумы, тренинги, кейсы, квесты
1236084776 kr.jpg домашние задания
1236084776 kr.jpg дискуссионные вопросы
1236084776 kr.jpg риторические вопросы от учеников

Иллюстрации
1236084776 kr.jpg аудио-, видеоклипы и мультимедиа 
1236084776 kr.jpg фотографии, картинки 
1236084776 kr.jpg графики, таблицы, схемы
1236084776 kr.jpg юмор, анекдоты, приколы, комиксы
1236084776 kr.jpg притчи, поговорки, кроссворды, цитаты

Дополнения
1236084776 kr.jpg рефераты
1236084776 kr.jpg статьи 
1236084776 kr.jpg фишки для любознательных 
1236084776 kr.jpg шпаргалки 
1236084776 kr.jpg учебники основные и дополнительные
1236084776 kr.jpg словарь терминов                          
1236084776 kr.jpg прочие 

Совершенствование учебников и уроков
1236084776 kr.jpg исправление ошибок в учебнике
1236084776 kr.jpg обновление фрагмента в учебнике 
1236084776 kr.jpg элементы новаторства на уроке 
1236084776 kr.jpg замена устаревших знаний новыми 

Только для учителей
1236084776 kr.jpg идеальные уроки 
1236084776 kr.jpg календарный план на год  
1236084776 kr.jpg методические рекомендации  
1236084776 kr.jpg программы
1236084776 kr.jpg обсуждения


Интегрированные уроки


Если у вас есть исправления или предложения к данному уроку, напишите нам.

Если вы хотите увидеть другие корректировки и пожелания к урокам, смотрите здесь - Образовательный форум.