[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Perl or Python?



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


Reply to: