Орацле јединствени индекс

Oracle Jedinstveni Indeks



Перформансе базе података су једна од основних улога програмера базе података. Обезбеђивање да ваша база података ради са оптималним перформансама може значајно утицати на читање или писање апликација у ту базу података.

Иако постоје бројни начини за побољшање перформанси базе података, једна карактеристика је скоро универзална за сваку базу података. Индекси базе података су структуре података или објекти који се користе за повећање брзине преузимања података из табеле.

Када се правилно користе, индекси базе података могу смањити брзину упита за скоро половину, у зависности од циљних података, распореда, доступних ресурса итд.







У овом водичу ћете научити како да радите са јединственим индексима у Орацле базама података да бисте спречили доступност дупликата вредности у индексираној колони.



Орацле јединствени индекс

Можемо да користимо јединствени индекс да бисмо осигурали да се у датој колони не чувају дупли редови. Ако колона датог индекса садржи јединствено правило, покушај додавања два реда са сличном вредношћу у ту колону ће довести до грешке која указује на кршење јединственог ограничења.



У Орацле-у можемо да креирамо јединствени индекс користећи наредбу ЦРЕАТЕ УНИКУЕ ИНДЕКС као што је приказано у наставку:





ЦРЕАТЕ УНИКУЕ ИНДЕКС индек_наме ОН табле_наме ( колоне ) ;

Колоне које су укључене у индекс неће прихватити дупле редове.

Пример јединствене илустрације табеле

Да бисте демонстрирали како да креирате и користите јединствени индекс, узмите следећу табелу:



СЕЛЕЦТ * ФРОМ сампле_дата;

Излаз :

Направите јединствени индекс у колони Фирст_Наме

Следећи пример изјаве показује како да направите јединствени индекс користећи колону фирст_наме:

креирајте јединствени индекс фирст_наме_уникуе на сампле_дата ( име ) ;

Омогућавањем овог индекса не можемо да убацимо више од једног реда са истим именом.

Узмимо на пример следећу изјаву за уметање:

уметните у сампле_дата ( ид , фирст_наме, ип_аддресс, бтц_аддресс, цредит_цард, идентифиер )
вредности ( Једанаест , 'Валас' , '169.158.70.77' , '1ЦНз5д1д5СЦ8СаР6дФСВихвзткИк5Фг77к' , '4017955174552' ,
'26811д77-0а3а-4397-бц33-ф7835ф7ц7аб9' ) ;

Ако покренемо дату наредбу за уметање, требало би да добијемо грешку као што је приказано у наставку:

[ 23000 ] [ 1 ] ОРА-00001: јединствено ограничење ( ХР.ФИРСТ_НАМЕ_УНИКУЕ ) прекршио

Као што видимо, уметање дате вредности крши јединствено ограничење за колону фирст_наме.

Направите јединствени индекс са две колоне

Такође можемо имати јединствени индекс који се састоји од више од једне колоне. У следећем примеру креирамо јединствени индекс користећи колоне фирст_наме и ио_аддресс:

креирајте јединствени индекс верифи_цолумнс на сампле_дата ( име_име, ип_адреса ) ;

Слично томе, додавање дупликата вредности за колону фирст_наме или ип_аддресс ће довести до јединствених грешака кршења индекса.

Аутоматски јединствени индекси

Да ли сте се икада запитали шта се дешава када декларишете колону табеле са примарним кључем или јединственим ограничењем?

Једноставно речено, ако поставите колону као примарни кључ табеле или доделите јединствено ограничење датој колони, механизам базе података аутоматски креира јединствени индекс за ту колону.

Ово осигурава да се у ту колону не убацује дупликат вредности.

Узмимо на пример следећу изјаву:

креирајте табелу узорак_података
(
ид број,
име_назива  варцхар2 ( педесет ) ,
ип_аддресс  варцхар2 ( двадесет ) ,
бтц_аддресс варцхар2 ( педесет ) ,
кредитна_картица варцхар2 ( педесет ) ,
идентификатор  варцхар2 ( 40 ) ,
ограничење сампле_пк примарни кључ ( ид )
) ;

У претходном примеру креирали смо табелу и поставили колону ид као примарни кључ табеле. Затим, да бисмо видели јединствено ограничење повезано са том колоном (аутоматски генерисано), можемо покренути следећу команду:

изаберите индек_наме, индек_типе, висибилити, статус, ТАБЛЕ_НАМЕ
из свих_индекса где је ТАБЛЕ_НАМЕ = 'ПРИМЈЕРА ПОДАТАКА' ;

Резултати :
У овом случају, можемо видети јединствени индекс који креира механизам базе података за колону ид.

Закључак

У овом водичу сте научили како да креирате и користите јединствене индексе у Орацле бази података. Такође сте научили шта се дешава када колони табеле доделите примарни кључ или јединствено ограничење.