Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 уникальность null  [new]
Alexus12
Member

Откуда:
Сообщений: 2868
есть таблица
exttypes (text varchar2, id number)
предназначена для типизации входящих текстовых данных до id

по text есть primary key

все хорошо, пока не появляется необходимость хранения null в поле text - уникальность согласно жизни B*Tree для него не поддерживается

а хранить единственный и уникальный null надо
как быть?
20 мар 07, 12:08    [3918458]     Ответить | Цитировать Сообщить модератору
 Re: уникальность null  [new]
Vadim_Maximov
Member

Откуда: Москва
Сообщений: 3571
Alexus12
по text есть primary key

Alexus12

все хорошо, пока не появляется необходимость хранения null в поле text
Одно противоречит другому.
20 мар 07, 12:13    [3918493]     Ответить | Цитировать Сообщить модератору
 Re: уникальность null  [new]
Q u a d r o
Member

Откуда: Canada
Сообщений: 1987
1. первичный ключ подразумевает not null, от него придётся избавиться.
2. create unique index fbi_exttypes_text on exttypes (nvl(exttypes, '$')), вместо "бакса" подобрав что-нибудь чего не может быть в not null-полях.
20 мар 07, 12:13    [3918495]     Ответить | Цитировать Сообщить модератору
 Re: уникальность null  [new]
Elic
Member

Откуда:
Сообщений: 29990
unique(text) + unique index(decode(text, null, 0))
20 мар 07, 12:15    [3918505]     Ответить | Цитировать Сообщить модератору
 Re: уникальность null  [new]
Alexus12
Member

Откуда:
Сообщений: 2868
спасибо
есть еще идея вообще не типизировать null и не хранить его в exttypes, оставив primary key

тогда в связанной c ней таблице будут храниться или null, или id из exttypes
- что приведет к необходимости внешних соединений

что лучше и почему?
20 мар 07, 12:17    [3918525]     Ответить | Цитировать Сообщить модератору
 Re: уникальность null  [new]
kennethr
Member

Откуда:
Сообщений: 175
Alexus12
тогда в связанной c ней таблице будут храниться или null, или id из exttypes

Может быть id primary key, text not null unique key? Пустую строку закодировать как уже сказали.
20 мар 07, 12:38    [3918665]     Ответить | Цитировать Сообщить модератору
 Re: уникальность null  [new]
ModelR
Member

Откуда: Нижний Новгород
Сообщений: 1798
Alexus12
спасибо
есть еще идея вообще не типизировать null и не хранить его в exttypes, оставив primary key

тогда в связанной c ней таблице будут храниться или null, или id из exttypes
- что приведет к необходимости внешних соединений
Не понял, а сечас разве в связанной c ней таблице не null или text из exttypes? И чтобы добраться до id джойны не используются?
20 мар 07, 12:52    [3918778]     Ответить | Цитировать Сообщить модератору
 Re: уникальность null  [new]
Alexus12
Member

Откуда:
Сообщений: 2868
сейчас text, нужно уйти к id
20 мар 07, 13:02    [3918844]     Ответить | Цитировать Сообщить модератору
 Re: уникальность null  [new]
ModelR
Member

Откуда: Нижний Новгород
Сообщений: 1798
Я про логику 'null или' - какая разница, к какому полю она применяется? И чем джойны отличаются?
20 мар 07, 14:34    [3919437]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить