Hello! On Thursday 19 March 2009 21:36:47 Владимир Ступин wrote: > Я ни в коей мере не спец по БД, но мне почему-то кажется, что > необходимость прибегать к значениям NULL говорит о непродуманной > структуре БД.
Описанный вами метод известен как горизонтальная декомпозиция и является одним из лучших вариантов решения проблемы с NULL. Для "не спеца" неплохо :-) База с использованием NULL это так назваемая "удобная для заполнения" база. Для анализа она непригодна, так как потеряно много важной информации о данных, в частности, невозможно различить невалидные и отсутствующие данные. Да, согласно теории реляционных баз невалидные данные _не должны_ сохраняться как NULL - но на практике программисты пишут в БД NULL как для отсутствующих, так и вместо некорректных данных. Потому БД, разрешающая использование NULL, при приводит к рассогласованности данных и ошибкам их анализа. Приведу выдержку из полемики Дейта и Рубинсона: "Понятно, что мы единодушны по поводу основных вопросов; как говорит Рубинсон, «я согласен с Дейтом относительно того, что трехзначная логика несовместима с системами управления базами данных»." Best regards.

