МОУ СОШ №2 Костромского округа город Буй Щур А.Н. 1 Основные темы параграфа: ♦ понятие логического выражения; ♦ операции отношения; ♦ запрос на выборку и простые логические выражения. МОУ СОШ №2 Костромского округа город Буй Щур А.Н. 2 Понятие логического выражения Чаще всего для справки требуются не все записи, а только часть из них, удовлетворяющая какому-то условию. Это условие называется условием выбора. Например, из таблицы «Погода» требуется узнать, в какие дни шел дождь. В командах СУБД условие выбора записывается в форме логического выражения. Логическое выражение, подобно математическому выражению, выполняется (вычисляется), но в результате получается не число, а логическое значение: истина (true) или ложь (false). Логическая величина — это всегда ответ на вопрос, истинно ли данное высказывание. МОУ СОШ №2 Костромского округа город Буй Щур А.Н. 3 Таблица3.4 Высказывания и их логические значения Вот как выглядят логические выражения, соответствующие восьми высказываниям, приведенным в таб3.4: МОУ СОШ №2 Костромского округа город Буй Щур А.Н. 5 Операции отношения Знаки отношений: Как выполняются отношения для числовых величин, вам должно быть понятно из математики. (В математике отношения называются неравенствами.) Для символьных величин требуется пояснение. МОУ СОШ №2 Костромского округа город Буй Щур А.Н. 6 Отношение «равно» истинно для двух символьных величин, если их длины одинаковы и все соответствующие символы совпадают. Следует учитывать, что пробел — это тоже символ. Например, отношение АВТОР="Беляев А.Р." не будет истинным ни для одной записи нашей таблицы, поскольку в таблице везде между фамилией и инициалами стоит один пробел, а в данном отношении — два. МОУ СОШ №2 Костромского округа город Буй Щур А.Н. 7 Символьные величины можно сопоставлять и в отношениях <, >, <=, >=. Здесь упорядоченность слов (последовательностей символов) определяется по алфавитному принципу. Вот фрагмент из орфографического словаря, содержащий последовательно расположенные в нем слова: квартет, компонент, конверт, конвульсия. Между этими словами истинны следующие отношения: квартет < компонент; компонент < конверт; конверт < конвульсия. МОУ СОШ №2 Костромского округа город Буй Щур А.Н. 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. МОУ СОШ №2 Костромского округа город Буй Щур А.Н. 9 А теперь вернемся к приведенным выше примерам логических выражений. В примерах 7 и 8 нет никаких знаков отношений. Дело в том, что поля с именами ЦВЕТОВОДСТВО и ТАНЦЫ имеют логический тип. Поэтому в каждой записи их значения — это логические величины «ложь», «истина» Одна величина логического типа — простейшая форма логического выражения. Следовательно, условие выбора может содержать в своей записи в том числе имя логического поля. 10 Запрос на выборку и простые логические выражения Вот как выглядит команда запроса информации из БД «Погода» о датах всех дождливых дней: . выбрать ДЕНЬ где ОСАДКИ = "дождь« В итоговую справку попадут лишь те записи, для которых истинно условие поиска. Значит, получим: МОУ СОШ №2 Костромского округа город Буй Щур А.Н. 11 Следующая команда позволяет вывести даты и влажность, соответствующие тем дням, когда атмосферное давление было выше 745 мм рт. ст.: .выбрать ДЕНЬ, ВЛАЖНОСТЬ где ДАВЛЕНИЕ >745. МОУ СОШ №2 Костромского округа город Буй Щур А.Н. 12 Команда запроса справки к БД «Домашняя библиотека»: вывести названия книг и фамилии и инициалы авторов, фамилии которых начинаются с буквы «О» и далее по алфавиту: .выбрать АВТОР, НАЗВАНИЕ где АВТОР >= «О» МОУ СОШ №2 Костромского округа город Буй Щур А.Н. 13 А теперь запрос к БД «Факультативы»: вывести список фамилий всех учеников, посещающих танцы: .выбрать ФАМИЛИЯ где ТАНЦЫ. Выражение, состоящее из имени поля логического типа или одного отношения, будем называть простым логическим выражением. МОУ СОШ №2 Костромского округа город Буй Щур А.Н. 14 Итог урока: 1. Логическое выражение вычисляется подобно математическому, но может принимать всего два значения: истина (true) или ложь (false). 2. Простейшая форма логического выражения — одна величина логического типа. 3. Отношение — форма логического выражения. Существует шесть вариантов отношений: «равно», «не равно», «больше», «меньше», «больше или равно», «меньше или равно». Отношения применимы ко всем типам полей. 4. Условия выбора в командах СУБД записываются в виде логических выражений. МОУ СОШ №2 Костромского округа город Буй Щур А.Н. 15 Домашнее задание § 13, вопросы МОУ СОШ №2 Костромского округа город Буй Щур А.Н. 16