Database Programming & Design



         

UNK, неравенство и реальный мир


До этого места я просто предполагал, что операции сравнения с

"больше" и "меньше" имеют смысл при наличии значения UNK. Но я

думаю, что Дейт попытался бы доказать, что основным вопросом

являются потребности реального мира при столкновении с

неизвестными значениями. Если отвергать любой вопрос вида

"Является ли значение X большим (или меньшим), чем значение Y",

когда значения X, Y или оба неизвестны (что, кстати, является

потребностью реального мира), то мы ничем не пожертвуем при

использовании подхода Дейта. С другой стороны, нам пришлось бы

внимательно отслеживать семантику неизвестных значений при

использовании двузначной логики (по крайней мере, для "больше" и

"меньше").

Сейчас я покажу, что правильный ответ на запрос с "больше" или

"меньше" при наличии неизвестных значений действительно имеет

смысл, но этот ответ есть "unknown", поскольку значения одного

или обоих операндов неизвестны. (Если это покажется тривиальным,

позвольте напомнить, что именно это запрещает схема Дейта.)

Попробуем оценить, какое количество информации запрещается

использовать схемой Дейта при том, что эта информация содержится

в базе данных.

Предположим, что наша таблица представляет 100 вариантов расклада

игральных карт двух игроков. Числа от 2 до 14 соответствуют

картам от двойки до туза. Первый игрок - Джонс, второй - Смит.

Пусть a) в 10 вариантах неизвестны оба значения, b) в 23

вариантах неизвестно только одно значение и c) в оставшихся 67

вариантах известны оба значения. Для этих 67 вариантов

предположим, что 42 случаях карта Джонса бьет карту Смита, а 21

случае карта Смита бьет карту Джонса. (Чтобы избежать ненужной

сложности допустим, что в случае b) известное значение отличается

от 2 и 14.)

Теперь рассмотрим следующие вопросы:

  • Сколько раз Джонс точно выиграл у Смита?

  • Сколько раз Джонс мог бы обыграть Смита?

  • Сколько было точных ничьих?

  • Сколько могло бы быть ничьих?




    Содержание  Назад  Вперед