Indeks Unik Oracle

Indeks Unik Oracle



Kinerja basis data adalah salah satu peran penting dari pengembang basis data. Memastikan bahwa database Anda berjalan pada kinerja optimal dapat berdampak signifikan terhadap pembacaan atau penulisan aplikasi ke database tersebut.

Meskipun ada banyak cara untuk meningkatkan kinerja database, satu fitur hampir universal untuk database apa pun. Indeks basis data adalah struktur data atau objek yang digunakan untuk meningkatkan kecepatan pengambilan data dari tabel.

Ketika digunakan dengan benar, indeks basis data dapat mengurangi kecepatan kueri hampir setengahnya, bergantung pada data target, tata letak, sumber daya yang tersedia, dll.







Dalam tutorial ini, Anda akan mempelajari cara bekerja dengan indeks unik di database Oracle untuk mencegah ketersediaan nilai duplikat di kolom yang diindeks.



Indeks Unik Oracle

Kita dapat menggunakan indeks unik untuk memastikan bahwa tidak ada baris duplikat yang disimpan dalam kolom tertentu. Jika kolom dari indeks tertentu berisi aturan unik, mencoba menambahkan dua baris dengan nilai serupa di kolom tersebut akan menghasilkan kesalahan yang menunjukkan pelanggaran batasan unik.



Di Oracle, kita dapat membuat indeks unik menggunakan pernyataan CREATE UNIQUE INDEX seperti yang ditunjukkan berikut ini:





BUAT INDEX UNIK nama_indeks PADA nama_tabel ( kolom ) ;

Kolom yang termasuk dalam indeks tidak akan menerima baris duplikat.

Contoh Ilustrasi Tabel Unik

Untuk mendemonstrasikan cara membuat dan menggunakan indeks unik, ambil tabel berikut:



PILIH * DARI sample_data;

Keluaran :

Buat Indeks Unik pada Kolom First_Name

Pernyataan contoh berikut menunjukkan cara membuat indeks unik menggunakan kolom first_name :

buat indeks unik first_name_unique pada sample_data ( nama depan ) ;

Dengan mengaktifkan indeks ini, kami tidak dapat menyisipkan lebih dari satu baris dengan nama depan yang sama.

Ambil contoh pernyataan insert berikut:

masukkan ke sample_data ( Indo , nama_pertama, alamat_ip, alamat_btc, kartu_kredit, pengidentifikasi )
nilai-nilai ( sebelas , 'Wallas' , '169.158.70.77' , '1CNz5d1d5SC8SaR6dFSVihwztqYx5Fg77q' , '4017955174552' ,
'26811d77-0a3a-4397-bc33-f7835f7c7ab9' ) ;

Jika kita menjalankan pernyataan insert yang diberikan, kita akan mendapatkan error seperti yang ditunjukkan berikut ini:

[ 23000 ] [ 1 ] ORA-00001: batasan unik ( HR.FIRST_NAME_UNIQUE ) dilanggar

Seperti yang bisa kita lihat, memasukkan nilai yang diberikan melanggar batasan unik untuk kolom first_name.

Buat Indeks Unik dengan Dua Kolom

Kami juga dapat memiliki indeks unik yang terdiri dari lebih dari satu kolom. Dalam contoh berikut, kami membuat indeks unik menggunakan kolom first_name dan io_address:

buat kolom verifikasi indeks unik pada data_sampel ( nama_pertama, alamat_ip ) ;

Demikian pula, menambahkan nilai duplikat untuk kolom first_name atau ip_address akan menghasilkan kesalahan pelanggaran indeks yang unik.

Indeks Unik Otomatis

Pernahkah Anda bertanya-tanya apa yang terjadi ketika Anda mendeklarasikan kolom tabel dengan kunci primer atau batasan unik?

Sederhananya, jika Anda menetapkan kolom sebagai kunci utama tabel atau menetapkan batasan unik ke kolom tertentu, mesin database secara otomatis membuat indeks unik untuk kolom tersebut.

Ini memastikan bahwa tidak ada nilai duplikat yang dimasukkan ke dalam kolom tersebut.

Ambil contoh pernyataan berikut:

buat tabel sample_data
(
Indo nomor,
nama_depan  varchar2 ( lima puluh ) ,
ip_address varchar2 ( dua puluh ) ,
btc_address varchar2 ( lima puluh ) ,
credit_card varchar2 ( lima puluh ) ,
pengenal  varchar2 ( 40 ) ,
kendala kunci primer sample_pk ( Indo )
) ;

Pada contoh sebelumnya, kita membuat tabel dan mengatur kolom id sebagai primary key tabel. Kemudian, untuk melihat batasan unik yang terkait dengan kolom tersebut (dibuat secara otomatis), kita dapat menjalankan perintah berikut:

Pilih index_name, index_type, visibilitas, status, TABLE_NAME
dari all_indexes di mana TABLE_NAME = 'CONTOH DATA' ;

Hasil :
Dalam hal ini, kita dapat melihat indeks unik yang dibuat oleh mesin basis data untuk kolom id.

Kesimpulan

Dalam panduan ini, Anda mempelajari cara membuat dan menggunakan indeks unik di database Oracle. Anda juga mempelajari apa yang terjadi saat Anda menetapkan kunci primer atau batasan unik ke kolom tabel.