Oracle Unique Index

Oracle Unique Index



Ang pagganap ng database ay isa sa mga mahahalagang tungkulin ng isang developer ng database. Ang pagtiyak na ang iyong database ay tumatakbo sa pinakamabuting pagganap ay maaaring makabuluhang makaapekto sa mga application na nagbabasa o nagsusulat sa database na iyon.

Kahit na maraming mga paraan ng pagpapabuti ng pagganap ng database ay umiiral, ang isang tampok ay halos pangkalahatan sa anumang database. Ang mga database index ay mga istruktura ng data o mga bagay na ginagamit upang mapahusay ang bilis ng pagkuha ng data mula sa talahanayan.

Kapag ginamit nang tama, maaaring bawasan ng mga database index ang bilis ng isang query ng halos kalahati, depende sa target na data, layout, magagamit na mga mapagkukunan, atbp.







Sa tutorial na ito, matututunan mo kung paano gumawa ng mga natatanging index sa mga database ng Oracle upang maiwasan ang pagkakaroon ng mga duplicate na halaga sa isang naka-index na column.



Oracle Unique Index

Maaari kaming gumamit ng isang natatanging index upang matiyak na walang mga duplicate na row ang nakaimbak sa isang partikular na column. Kung ang column ng isang ibinigay na index ay naglalaman ng isang natatanging panuntunan, ang pagtatangkang magdagdag ng dalawang row na may katulad na halaga sa column na iyon ay magreresulta sa isang error na nagpapahiwatig ng isang natatanging paglabag sa hadlang.



Sa Oracle, maaari tayong lumikha ng isang natatanging index gamit ang CREATE UNIQUE INDEX na pahayag tulad ng ipinapakita sa sumusunod:





GUMAWA NG NATATANGING INDEX index_name SA table_name ( mga hanay ) ;

Ang mga column na kasama sa index ay hindi tatanggap ng anumang mga duplicate na row.

Halimbawa ng Natatanging Ilustrasyon ng Talahanayan

Upang ipakita kung paano lumikha at gumamit ng isang natatanging index, kunin ang sumusunod na talahanayan:



PUMILI * MULA sa sample_data;

Output :

Gumawa ng Natatanging Index sa First_Name Column

Ang sumusunod na halimbawang pahayag ay nagpapakita kung paano lumikha ng isang natatanging index gamit ang first_name column:

lumikha ng natatanging index na first_name_unique sa sample_data ( pangalan ) ;

Sa pamamagitan ng pagpapagana sa index na ito, hindi kami maaaring magpasok ng higit sa isang row na may parehong pangalan.

Kunin halimbawa ang sumusunod na insert statement:

ipasok sa sample_data ( id , first_name, ip_address, btc_address, credit_card, identifier )
mga halaga ( labing-isa , 'Wallas' , '169.158.70.77' , '1CNz5d1d5SC8SaR6dFSVihwztqYx5Fg77q' , '4017955174552' ,
'26811d77-0a3a-4397-bc33-f7835f7c7ab9' ) ;

Kung patakbuhin natin ang ibinigay na insert statement, dapat tayong makakuha ng error tulad ng ipinapakita sa sumusunod:

[ 23000 ] [ 1 ] ORA-00001: natatanging pagpilit ( HR.FIRST_NAME_UNIQUE ) nilabag

Gaya ng nakikita natin, ang pagpasok ng ibinigay na halaga ay lumalabag sa natatanging hadlang para sa column na first_name.

Gumawa ng Natatanging Index na may Dalawang Column

Maaari din tayong magkaroon ng natatanging index na binubuo ng higit sa isang column. Sa sumusunod na halimbawa, lumikha kami ng natatanging index gamit ang first_name at io_address na mga column:

lumikha ng natatanging index verify_columns sa sample_data ( unang_pangalan, ip_address ) ;

Katulad nito, ang pagdaragdag ng mga duplicate na halaga para sa alinman sa column na first_name o ip_address ay magreresulta sa mga natatanging error sa paglabag sa index.

Mga Awtomatikong Natatanging Index

Naisip mo na ba kung ano ang mangyayari kapag nagdeklara ka ng column ng talahanayan na may pangunahing susi o natatanging hadlang?

Sa madaling salita, kung itatakda mo ang isang column bilang pangunahing key ng talahanayan o magtatalaga ng isang natatanging hadlang sa isang partikular na column, awtomatikong gagawa ang database engine ng isang natatanging index para sa column na iyon.

Tinitiyak nito na walang naipasok na duplicate na halaga sa column na iyon.

Kunin halimbawa ang sumusunod na pahayag:

lumikha ng sample_data ng talahanayan
(
id numero,
first_name  varchar2 ( limampu ) ,
ip_address  varchar2 ( dalawampu ) ,
btc_address varchar2 ( limampu ) ,
credit_card varchar2 ( limampu ) ,
identifier  varchar2 ( 40 ) ,
constraint sample_pk primary key ( id )
) ;

Sa nakaraang halimbawa, gumawa kami ng talahanayan at itinakda ang column ng id bilang pangunahing key ng talahanayan. Pagkatapos, upang tingnan ang natatanging hadlang na nauugnay sa column na iyon (awtomatikong nabuo), maaari naming patakbuhin ang sumusunod na command:

pumili index_name, index_type, visibility, status, TABLE_NAME
mula sa lahat ng_index kung saan ang TABLE_NAME = 'SAMPLE NA DATA' ;

Mga resulta :
Sa kasong ito, makikita natin ang natatanging index na nilikha ng database engine para sa column ng id.

Konklusyon

Sa gabay na ito, natutunan mo kung paano lumikha at gumamit ng mga natatanging index sa database ng Oracle. Natutunan mo rin kung ano ang mangyayari kapag nagtalaga ka ng pangunahing key o natatanging hadlang sa isang column ng talahanayan.