[Moscow.pm] Размышления на тему ORM и вообще работы с БД

Andrei andrei.protasovitski на gmail.com
Пт Окт 28 08:00:04 PDT 2011


28 октября 2011 г. 15:37 пользователь Михаил Шогин <mshogin на gmail.com>написал:

> Объясните, пожалуйста, разработчикам, что null означает "отсутсвие данных",
>> только "отсутсвие данных" и ничего, кроме "отсутствия данных". Разработчики,
>> работающие с базами данных, должны понимать, что "отсутсвие данных" не может
>> быть использовано как "данные".
>>
>> В этом конкретном случае "запись недоступна" есть некоторые вполне
>> определённые данные, и для этого статуса должно быть определено полне
>> конкретное значение.
>>
>> NULL - тоже значение.
>
> Объяснение простое,
> Поле выставляется в значение NULL для не попадания в индекс.
>

Какой в этом смысл?

Согласен что было бы лучше сделать так
> status - доступность сущности ( 1 - доступна , 0 - не доступна )
>
> однако в таком случае пришлось бы строить индекс
>
> create index ENTITIES$N$STATUSACTIVE on books (n, case when status = 1 then
> 1 else null end )
>
> но в таком случае, для того что бы пойти по индексу, придется использовать
> запрос вида
>
> select en.n
>   from entities en
> where case
>                when en.status = 1
>                then 1
>                else null
>           end  = 1
>

A почему нельзя просто WHERE en.status = 1 ?

-- 
Andrei Protasovitski
< andrei[dot]protasovitski[at]gmail[dot]com >
Diemen, Netherlands
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20111028/aec644b5/attachment.html>


Подробная информация о списке рассылки Moscow-pm