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




Поиск информации в базе данных

Введение

Поиск информации в базе данных может осуществляться несколькими способами:

  1. Перебором записей базы данных. Способ неудобен, если база данных большая и/или с большим количеством полей.
  2. Используя встроенные возможности системы управления базы данных. Данный способ максимально адаптирован к пользователю.

 

Как правило, при использовании встроенных возможностей СУБД: используется язык SQL (Structured Query Language). Этот язык представляет собой непроцедурный язык, используемый для управления данными реляционных СУБД. Термин «непроцедурный» означает, что на данном языке можно сформулировать, что нужно сделать с данными, но нельзя проинструктировать, как именно это следует сделать. Иными словами, в этом языке отсутствуют алгоритмические конструкции, такие как метки, операторы цикла, условные переходы и др.

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

 

Основы использования математической логики при работе с СУБД

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

Логическое выражение – это некоторое высказывание, по поводу которого можно заключить истинно оно или ложно.

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

 

Условие выбора – это условие, по которому выбираются только те записи, которые ему удовлетворяют.

 

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

 

Знаки отношений:

= Равно >= больше или равно
< > не равно
> Больше <= меньше или равно
< меньше

 

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

1. ОСАДКИ = «дождь»

2. Давление > 740

3. Влажность < > 100

4. Полка < 5

5. Автор = «Толстой Л.Н.»

6. Фамилия = «Русанов»

7. Рисование

 

Обратите внимание, что шесть выражений являются отношениями, так как использованы знаки отношений. Для составления отношений слева от знака располагается имя поля базы данных, а справа – значение конкретной записи. При этом единицы измерения НЕ пишутся. А текстовые значения указываются в кавычках.

Последнее простое логическое выражение не является отношением (не использованы знаки отношений).

 

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

 

При сравнении (>, <, >=, <=) символьных величин сравниваются не сами символы, а их внутренние коды.

- Например, справедливо следующее отношение: А < Б < В < … < Ю < Я

 

Лексикографический порядок – это упорядоченность слов по алфавитному принципу.

Мы встречаемся с лексикографическим порядком при работе со словарями, списками людей и т.д.

 

Примеры сравнения пар слов:

квартет < конвульсия

компонент > квартет

конверт > компонент

 

Сравнение между собой дат осуществляется в соответствии с календарной последовательностью.

Примеры сравнения дат:

3.12.56 < 23.04.65

24.09.79 > 23.09.79

 

Сравнение между собой времени осуществляется в соответствии с хронологической последовательностью.

Примеры сравнения времени:

12:53:08 > 03:40:00

23:05:12 < 23:05:13

 

Для логических величин истинно следующее отношение: true > false(так как логический код true = 1, а код false = 0).

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

 

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

 

Кроме отношений и логических полей используются смысловые связки «И», «ИЛИ», «НЕ». Это знаки логических операций.

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

 

Логические операции (по убыванию старшинства):

1. Операция отрицания (инверсия), знак операции «НЕ».

2. Операция логического умножения (конъюнкция), знак операции «И».

3. Операция логического сложения (дизъюнкция), знак операции «ИЛИ».

 

Операция «отрицание» - одноместная операция, так как использует один операнд (одну логическую величину). Операции «логическое умножение» и «логическое сложение» - двухместные операции, так как используют два операнда (две логические величины).

 

1. Операция отрицания (инверсия), знак операции «НЕ».

Правило:Отрицание изменяет значение логической величины на противоположное: НЕ (истина) = ложь; НЕ (ложь) = истина.

 

Пример:Пусть надо получить список всех книг, кроме книг Беляева А.Р.

Логическое выражение:НЕ (Автор = «Беляев А.Р.»)

Ход решения:

1) Из базы данных вырезаются все записи, которые удовлетворяют условию (Автор = «Беляев А.Р.»)

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

 

2. Операция логического умножения (конъюнкция), знак операции «И».

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

 

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

Логическое выражение:(Автор = «Беляев А.Р.») И (Год >= 1990)

Ход решения:

1) Из базы данных сначала выбираются все записи, которые удовлетворяют первому условию (Автор = «Беляев А.Р.»)

2) Затем из найденных записей выбираются те записи, которые удовлетворяют второму условию (Год >= 1990)

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

 

3. Операция логического сложения (дизъюнкция), знак операции «ИЛИ».

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

 

Пример:Пусть надо получить список всех книг Толстого Л.Н. и Тургенева И.С.

Логическое выражение:(Автор = «Толстой Л.Н.») ИЛИ (Автор = «Тургенев И.С.»)

Ход решения:

1) Из базы данных выбираются все записи, которые удовлетворяют первому условию (Автор = «Толстой Л.Н.»)

2) Из базы данных выбираются все записи, которые удовлетворяют первому условию (Автор = «Тургенев И.С.»)

3) Полученные результаты первых двух шагов склеиваются (отображаются в единой таблице)

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

 

 

Примечание.

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

 

 

Таблицы истинности.

Пусть А и В – это логические операнды (то есть могут принимать значения И или Л). Тогда составим так называемую таблицу истинности.

 

А В А и В А или В Не А
И И И И Л
Л Л Л Л И
И Л Л И Л
Л И Л И И

 

 





©2015-2017 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.

Обратная связь

ТОП 5 активных страниц!