Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Уникальные индексы и констрейнты


den_777 ©   (2004-05-26 15:38:00) 

Может где в документации и есть, но хочется узнать от мастеров чем отличается
ALTER TABLE MYTABLE1 ADD CONSTRAINT UNQ_1 UNIQUE (FIELD1);
от
CREATE UNIQUE INDEX IDX_UQ1 ON MYTABLE1 (FIELD1);
насколько я понимаю в первом случае все равно создается индекс, только системный со своим именем RDB$XXXXX
Так в чем тогда различие(не в синтаксисе конечно, а на уровне базы данных)


Johnmen   (2004-05-26 16:19:00) [1]

>И все же зачем две аналогичные вещие существуют параллельно в SQL

Какие две вещи ?
Индексы и констрейнты это разные вещи. Но в частном случае (в вопросе) это с т.з. функционирования одно и то же, о чем и сказали уже...


Sandman25+1   (2004-05-26 16:18:00) [2]

[2] den_777   (26.05.04 15:55)

Уникальный индекс ускоряет лучше - нет необходимости проверять наличие дубликатов.

>Уникальный индекс вроде тоже самое делает

С точки зрения проектировщика БД, в таком случае нужно писать constraint, а не создавать индекс.


den_777   (2004-05-26 15:55:00) [3]


> (Уникальный) индекс создается с целью ускорить поиск.

можно создать и обычный индекс - разницы никакой для ускорения поиска нет. Еще более интересно и вполне логично, что анализатор плана в IBExpert показывает использование при поиске данных системного индекса, который создался автоматически при создании констрейнта.Так что с точки зрения ускорения поиска разницы абсолютно никакой.

> Констрейнт на уникальность создается с целью гарантировать
> логическую целостность данных.

Уникальный индекс вроде тоже самое делает

И все же зачем две аналогичные вещие существуют параллельно в SQL


Sandman25+1   (2004-05-26 15:45:00) [4]

(Уникальный) индекс создается с целью ускорить поиск.
Констрейнт на уникальность создается с целью гарантировать логическую целостность данных.
Резюмируя, скажу, что разницы с точки зрения БД я не вижу.


Наверх

Титульная страница Поиск, карта сайта Написать письмо