В БД могут находиться неопределенные (Null) значения. Пример, БД для регистрации информации о преступниках.
Null-значения – некие маркеры, показывающие, что данные неизвестны.
Теоретики БД придерживаются по этому вопросу противоположных точек зрения. Так Кодд считал, что – null-значения являются неотъемлемой частью БД. Дейт [2] выступает против использования null-значений. Современные СУБД поддерживают null-значения.
При выполнении любых математических операций, если одно из данных неизвестно, то и результат неизвестен. При выполнении логических операций при использовании трехзначной логики результат операции может иметь следующие значения: F – ложь; T – истина; U – неизвестно.
Трехзначная логика основана на таблицах истинности (табл. 7.1 и 7.2):
Таблица 7.1 Таблица 7.2
Таблицы истинности
х |
у |
x and y |
x or y |
F |
F |
F |
F |
F |
T |
F |
T |
T |
F |
F |
T |
T |
T |
T |
T |
F |
U |
F |
U |
T |
U |
U |
T |
U |
U |
U |
U |
Парадоксальные следствия использования трехзначной логики:
1) никогда Null-значение не равняется самому себе (null ≠ null);
2) (не обязательно ИСТИНА, так как а = U)