Hello! On Thursday 19 March 2009 15:36:50 Artem Chuprina wrote: > В результате в реальной жизни мы пишем NULL в поле сломавшегося датчика, > и... правильно, логика работы с NULL разработана так, что в подавляющем > большинстве случаев она работает правильно: если обсчету нужно значение > с этого датчика, то записи, где он сломан, в обсчет не попадают.
Вот чего только у меня студенты не придумывали на лабах, но вместо того, чтобы позвать лаборанта и наладить оборудование писали NULL в протокол, не было никогда - ну не идиоты же они. Если с датчика не поступает информации, то мы _ничего не пишем_ в таблицу измерений, хотя можем делать отметку в таблице ошибок, что не имеет отношения к данным измерений. Другое дело, если датчик не исправен/перегружен и выдает заведомо некорректный результат, но никакого NULL он выдавать не может - вы сами только недавно писали, что мол абсолютно точных значений не бывает. В большинстве случаев бинарной логики достаточно, а в тех случаях, когда не достаточно, костыли отнюдь положение не исправляют. В итоге в разных СУБД NULL-значения обрабатываются по-разному, более того, разные операции в одной и той же СУБД могут трактовать NULL по-своему, выдавая несогласованный результат. Best regards.