- •Поиск информации в базе данных Введение
- •Основы использования математической логики при работе с субд Условия выбора и простые логические выражения
- •Условия выбора и сложные логические выражения
- •1. Операция отрицания (инверсия), знак операции «не».
- •2. Операция логического умножения (конъюнкция), знак операции «и».
- •3. Операция логического сложения (дизъюнкция), знак операции «или».
- •Источники
Условия выбора и сложные логические выражения
Кроме отношений и логических полей используются смысловые связки «И», «ИЛИ», «НЕ». Это знаки логических операций.
Определение: Выражения, содержащие логические операции, будем называть сложными логическими выражениями.
Логические операции (по убыванию старшинства):
Операция отрицания (инверсия), знак операции «НЕ».
Операция логического умножения (конъюнкция), знак операции «И».
Операция логического сложения (дизъюнкция), знак операции «ИЛИ».
Операция «отрицание» - одноместная операция, так как использует один операнд (одну логическую величину). Операции «логическое умножение» и «логическое сложение» - двухместные операции, так как используют два операнда (две логические величины).
1. Операция отрицания (инверсия), знак операции «не».
Правило: Отрицание изменяет значение логической величины на противоположное: НЕ (истина) = ложь; НЕ (ложь) = истина.
Пример: Пусть надо получить список всех книг, кроме книг Беляева А.Р.
Логическое выражение: НЕ (Автор = «Беляев А.Р.»)
Ход решения:
Из базы данных вырезаются все записи, которые удовлетворяют условию (Автор = «Беляев А.Р.»)
Примечание: если необходимо показывать не все столбцы базы данных, то вторым шагом оставляются только нужные столбцы
2. Операция логического умножения (конъюнкция), знак операции «и».
Правило: В результате логического умножения получается истина, если оба операнда истинны.
Пример: Пусть надо найти книги Беляева А.Р., изданные не раньше 1990 года.
Логическое выражение: (Автор = «Беляев А.Р.») И (Год >= 1990)
Ход решения:
Из базы данных сначала выбираются все записи, которые удовлетворяют первому условию (Автор = «Беляев А.Р.»)
Затем из найденных записей выбираются те записи, которые удовлетворяют второму условию (Год >= 1990)
Примечание: если необходимо показывать не все столбцы базы данных, то третьим шагом оставляются только нужные столбцы
3. Операция логического сложения (дизъюнкция), знак операции «или».
Правило: В результате логического сложения получается истина, если значение хотя бы одного операнда истинно.
Пример: Пусть надо получить список всех книг Толстого Л.Н. и Тургенева И.С.
Логическое выражение: (Автор = «Толстой Л.Н.») ИЛИ (Автор = «Тургенев И.С.»)
Ход решения:
Из базы данных выбираются все записи, которые удовлетворяют первому условию (Автор = «Толстой Л.Н.»)
Из базы данных выбираются все записи, которые удовлетворяют первому условию (Автор = «Тургенев И.С.»)
Полученные результаты первых двух шагов склеиваются (отображаются в единой таблице)
Примечание: если необходимо показывать не все столбцы базы данных, то четвертым шагом оставляются только нужные столбцы
Примечание.
Если используются логические операции, то простые логические выражения записываются в скобках.
Таблицы истинности.
Пусть А и В – это логические операнды (то есть могут принимать значения И или Л). Тогда составим так называемую таблицу истинности.
-
А
В
А и В
А или В
Не А
И
И
И
И
Л
Л
Л
Л
Л
И
И
Л
Л
И
Л
Л
И
Л
И
И
Примеры расстановки порядка действий в сложных логических выражениях.
. 1 3 2
(Год = 1987 или Год = 1986) и (Полка = 5 или Полка = 1)
. 2 1 3
Год = 1987 или Год = 1986 и Полка = 5 или Полка = 1
. 1 2
Не а или b
. 1 2
a и b или с
. 2 1
a или b и с
. 1 3 2
6. не a или b и c
Примеры заполнения таблиц истинности для сложных логических выражений.
-
3
4
5
а
b
с
Не а
Не а или b
a и b
a и b или с
b и с
a или b и с
И
И
И
Л
И
И
И
И
И
И
И
Л
Л
И
И
И
Л
И
И
Л
И
Л
Л
Л
И
Л
И
И
Л
Л
Л
Л
Л
Л
Л
И
Л
И
И
И
И
Л
И
И
И
Л
И
Л
И
И
Л
Л
Л
Л
Л
Л
И
И
И
Л
И
Л
Л
Л
Л
Л
И
И
Л
Л
Л
Л
-
6
а
b
с
не a
b и c
не a или b и c
И
И
И
Л
И
И
И
И
Л
Л
Л
Л
И
Л
И
Л
Л
Л
И
Л
Л
Л
Л
Л
Л
И
И
И
И
И
Л
И
Л
И
Л
И
Л
Л
И
И
Л
И
Л
Л
Л
И
Л
И
Примеры составления сложных логических выражений.
Запишите следующие высказывания в виде сложных логических выражений.
Найти все записи, дата которых после 21 ноября, а температура была равна нулю градусов.
Ответ: (Дата > 21.11) И (Температура = 0)
Найти всех учеников, которые посещают Футбол, но не посещают Шахматы.
Ответ: (Футбол) И ( НЕ (Шахматы) )
Найти книгу Пушкина А.С. «Сборник стихотворений».
Ответ: (Автор = «Пушкин А.С.») И (Название = «Сборник стихотворений»)
Найти все книги с названием «Сборник стихотворений», выпущенные не позже 2000 года.
Ответ: (Название = «Сборник стихотворений») И (Год <= 2000)
Найти все книги, стоящие на второй и на восьмой полках.
Ответ: (Полка = 2) ИЛИ (Полка = 8)
Найти книги, выпущенные в период от 2000 до 2005 года.
Ответ: (Год >= 2000) И (Год <= 2005)
Найти все книги, стоящие выше второй полки и изданные до 2000 года.
Ответ: (Полка > 2) И (Год < 2000)