Семантика булевых операторов и операторов сравнения в контексте трех ценных логик

Профессор задает мне этот вопрос:

Какова семантика булевых операторов и операторов сравнения в контексте трех ценных логик?

Я не уверен, что он подразумевал под этим. Что такое оператор сравнения? Это - то же как оператор отношения? Семантика? Он спрашивающий о 'значении' тех двух условий в контексте трех ценных логик?

Спасибо.

7
задан DB Student 2 March 2010 в 20:21
поделиться

3 ответа

Логическая логика по определению использует только два значения. Для меня этот вопрос не имеет смысла. Если бы он спросил, как вы можете определить или расширить булеву логику, чтобы она могла использовать трехзначную систему, он был бы более ясным.

0
ответ дан 7 December 2019 в 03:15
поделиться

Логические значения по определению состоят из двух вариантов: Истина и Ложь или их некоторое представление, например 1/0, ВКЛ / ВЫКЛ, ДА / НЕТ и т. Д. .

Многие системы баз данных также позволяют хранить значение NULL в полях, обозначенных как Boolean, что позволяет им представлять три значения: Да, Нет и Неизвестно (NULL).

Логические операторы - И, ИЛИ и НЕ.
Операторы сравнения - это некоторая форма РАВНЫХ или НЕ РАВНЫХ.

Операции со значениями ИСТИНА / ЛОЖЬ на обоих концах очевидны:
ИСТИНА или ЛОЖЬ -> ИСТИНА
НЕ ИСТИНА -> ЛОЖЬ
ИСТИНА = ИСТИНА -> ИСТИНА

То, что он получает, - это последствия добавления значения NULL (Unknown):
TRUE или UNKNOWN (NULL) -> ???
NOT UNKNOWN (NULL) -> ???
ИСТИНА = НЕИЗВЕСТНО (NULL) -> ???

6
ответ дан 7 December 2019 в 03:15
поделиться

http://en.wikipedia.org/wiki/Null_ (SQL) # Трехзначная_логика_.283VL.29

По сути, трехзначная логика имеет значение true / false / null, и логические операторы / операторы сравнения будут работать определенным образом при сравнении true == null, null == null и т. д.

3
ответ дан 7 December 2019 в 03:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: