Базы данных: конспект лекций. Коллектив авторов

Чтение книги онлайн.

Читать онлайн книгу Базы данных: конспект лекций - Коллектив авторов страница 4

Базы данных: конспект лекций - Коллектив авторов

Скачать книгу

операндов. Для удобства введем следующие обозначения: вместо True будем писать t, вместо False – f, а вместо Null – n.

      1. Отрицание ¬x.

      Стоит отметить следующие интересные моменты касательно операции отрицания с использованием Null-значений:

      1) ¬¬x ≔ x – закон двойного отрицания;

      2) ¬Null ≔ Null – Null-значение является неподвижной точкой.

      2. Конъюнкция x & y.

      Эта операция также имеет свои свойства:

      1) x & yy & x– коммутативность;

      2) x & x ≔ x – идемпотентность;

      3) False & y ≔ False, здесь False – поглощающий элемент;

      4) True & yy, здесь True – нейтральный элемент.

      3. Дизъюнкция xy.

      Свойства:

      1) xyyx – коммутативность;

      2) xxx – идемпотентность;

      3) False ∨ yy, здесь False – нейтральный элемент;

      4) True ∨ y ≔ True, здесь True – поглощающий элемент.

      Исключение из общего правила составляют правила вычисления логических операций конъюнкция & и дизъюнкция ∨ в условиях действия законов поглощения:

      (False & y) ≔ (x & False) ≔ False;

      (True ∨ y) ≔ (x ∨ True) ≔ True;

      Эти дополнительные правила формулируются для того, чтобы при замене Null-значения значениями False или True результат бы все равно не зависел бы от этого значения.

      Как и ранее было показано для других типов операций, применение Null-значений в логических операциях могут также привести к неожиданным значениям. Например, логика на первый взгляд нарушена в законе исключения третьего (x ∨ ¬x) и в законе рефлексивности (x = x), поскольку при x ≔ Null имеем:

      (x ∨ ¬x), (x = x) ≔ Null.

      Законы не выполняются! Объясняется это так же, как и раньше: при подстановке Null-значения в выражение информация о том, что это значение сообщается одной и той же переменной теряется, а в силу вступает общее правило работы с Null-значениями.

      Таким образом, делаем вывод: при выполнении логических операций с Null-значениями в качестве операнда эти значения определяются системами управления базами данных как применимое, но неизвестное.

      5. Null-значения и проверка условий

      Итак, из всего вышесказанного можно сделать вывод, что в логике систем управления базами данных имеются не два логических значения (True и False), а три, ведь Null-значение также рассматривается как одно из возможных логических значений. Именно поэтому на него часто ссылаются как на неизвестное значение, значение Unknown.

      Однако, несмотря на это, в системах управления базами данных реализуется только двузначная логика. Поэтому условие с Null-значением (неопределенное условие) должно интерпретироваться машиной либо как True, либо как False.

      В языке СУБД по умолчанию установлено опознавание условия с Null-значением как значения False. Проиллюстрируем это следующими примерами реализации в системах управления базами данных условных операторов If и While:

      If

Скачать книгу