Re: [pgsql-ru-general] Re: [pgsql-ru-general] Частично уникальное поле - Mailing list pgsql-ru-general

From Dmitriy Igrishin
Subject Re: [pgsql-ru-general] Re: [pgsql-ru-general] Частично уникальное поле
Date
Msg-id AANLkTikzmOin4MEZrW0wrj0+2-Nfhf4XLMZFQX51331h@mail.gmail.com
Whole thread Raw
In response to Re: [pgsql-ru-general] Re: [pgsql-ru-general] Частично уникальное поле  (Nikolay Samokhvalov <samokhvalov@gmail.com>)
Responses Re: [pgsql-ru-general] Re: [pgsql-ru-general] Частично уникальное поле
List pgsql-ru-general
Приветствую,

13 марта 2011 г. 2:54 пользователь Nikolay Samokhvalov <samokhvalov@gmail.com> написал:
2011/3/13 Dmitriy Igrishin <dmitigr@gmail.com>


13 марта 2011 г. 2:00 пользователь Nikolay Samokhvalov <samokhvalov@gmail.com> написал:

UNIQUE INDEX  это уже и есть ограничение целостности (constraint).
А вот это не так. Ограничение уникальности (UNIQUE CONSTRAINT)
является не индексом, а его зависимостью. Т.е. невозможно удалить
уникальный индекс, порожденный неявно при создании ограничения
уникальности.
Видимо, именно такой объект и хочет создать автор. Однако следует
иметь в виду, что индекс, автоматически создаваемый при создании
ограничения уникальности будет не частичным.

Приветствую ценителя теории )) 

Уникальный индекс -- это уже и есть ограничение целостности. Можно ещё раз повторю? И ещё, на ночь, чтобы запомнилось.

Где тут "не так"? ))
Повторяйте сколько угодно раз, хоть сто. За одно повторите
чтение (можно на ночь) http://www.postgresql.org/docs/9.0/static/ddl-constraints.html
пункта 5.3.3 о том, что такое UNIQUE CONSTRAINT, не упустив из виду
"Adding a unique constraint will automatically create a unique btree index on the column
or group of columns used in the constraint.". Надеюсь, что после этого Вы не станете
утверждать, что ограничение уникальности является уникальным (btree) индексом.
Я всегда ратовал и буду ратовать за корректность.
 

Для новичков нужно запоминать именно так, чтобы как раз и не возникало вопросов "а как создать constraint". 
Ой, да ладно про "спец курсы для новичков". :-)

Про размер индекса -- верно, частичный индекс экономит место, если NULL-ов ожидается много. Но при этом надо понимать, что будут последствия для оптимайзера (всё же это индекс и он может пригодиться не только как ограничение целостности).
Какие такие последствия?

По поводу что-то не так делаю и спать пора -- желательно привести пример, показывающий суть вопроса (что за одинаковые 'col'). Может, там не в collation дело, а в какой-нибудь кириллической буковке, смахивающей на латинницу )



--
// Dmitriy.


pgsql-ru-general by date:

Previous
From: "Dmitry E. Oboukhov"
Date:
Subject: Re: Re: [pgsql-ru-general] Частично уникальное поле
Next
From: Nikolay Samokhvalov
Date:
Subject: Re: [pgsql-ru-general] Re: [pgsql-ru-general] Частично уникальное поле