[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