On Thu, 19 Mar 2009 22:32:25 +0300 Alexey Pechnikov wrote: > On Thursday 19 March 2009 21:36:47 Владимир Ступин wrote: > > Я ни в коей мере не спец по БД, но мне почему-то кажется, что > > необходимость прибегать к значениям NULL говорит о непродуманной > > структуре БД. > Описанный вами метод известен как горизонтальная декомпозиция и > является одним из лучших вариантов решения проблемы с NULL. Для "не > спеца" неплохо :-) Извиняйте, что вклиниваюсь, но мне не совсем понятна спасительность метода в данном конкретном случае. Из того, что "во второй таблице не будет записей" _всё равно_ совершенно непонятно, "следует ли платить Витусу за измерение температуры в этот день", разумеется, если это не сдельная оплата "за строчку таблицы". А при выяснении "то ли он весь день читал Лукьяненко и забыл смерить температуру, то ли температуру мерять ходил, но в силу объективных причин данных не получил" СУБД вряд ли поможет.... > > База с использованием NULL это так назваемая "удобная для заполнения" > база. Для анализа она непригодна, так как потеряно много важной > информации о данных, в частности, невозможно различить невалидные и > отсутствующие данные. Насколько я понял, Владимир предложил не писать вообще ничего там, где другие напишут NULL - как в случае отсутствия (медведь съел), так и в случае невалидности (градусник замёрз) данных. Вряд ли это поможет нам различать такие данные. Можно на этапе обработки отсекать значения, выходящие за рабочий диапазон, в базу писать ту температуру, которая отображалась, вне зависимости от замёрз/не_замёрз, а NULL писать только в случае прихода медведя. Однако при обработке придётся прибегать к интерполяции (или к игнорированию в усреднениях, что является частным случаем И.) в обоих случаях. В чём принципиальное различие [с точки зрения метеосистемы] - я не вижу.
------ Grey Fenrir -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected]

