Sistem Basis Data – Bab 11 MENGENAL INDEKS
1. Pengertian Indeks Keberadaan indeks dalam basis data antara lain adalah untuk mempercepat pencarian data berdasarkan kolom tertentu. Misalnya memberikan perintah : SELECT * FROM pegawai WHERE nip = ‘12360’ Jika nip tdk dijadikan sebagai indeks, pencarian data akan dilakukan terhadap seluruh tabel, sama seperti kalau mencari sesuatu dalam buku tetapi tdk dilengkapi dengan indeks. Namun, sekiranya indeks yg berkaitan dg nip ada, sistem akan menemukannya dg cepat.
Keuntungan Indeks: Proses penggabungan sejumlah tabel. Proses dengan ORDER BY. Proses fungsi agregat seperti MIN dan MAX.
2. Menciptakan Indeks Jika telah menciptakan tabel, bisa menambahkan indeks untuk tabel tersebut melalui perintah CREATE INDEX. Misalkan telah menciptakan tabel bernama pelamar dengan menggunakan perintah : CREATE TABLE pelamar ( nama CHAR(20) NOT NULL, no_tes CHAR(3) NOT NULL); Anda bisa menciptakan indeks menurut no_tes dengan memberikan perintah: CREATE INDEX no_tes_idx ON pelamar (no_tes); Pada perintah di atas: no_tes : nama indeks yg telah dibuat pelamar : nama tabel yg akan diindeks no_tes yg berada dalam tanda kurung menyatakan kolom yg digunakan untuk mengindeks.
3. Menghapus Indeks Pada MySQL, kaidah penghapusan indeks berupa: DROP INDEX nama_indeks ON nama_tabel; Contoh: DROP INDEX no_tes_idx;
4. Membuat Indeks yang Unik Pada contoh CREATE INDEX di depan, indeks yg terbentuk bisa menerima nilai yg kembar. Jika tdk menghendaki hal ini, maka bisa menciptakan indeks indeks yg unik. Caranya dengan memberikan kata UNIQUE di antara kata CREATE dan INDEX. Dengan asumsi bahwa telah menghapus indeks yg telah diciptakan dengan perintah di depan, cobalah perintah berikut: CREATE UNIQUE INDEX no_tes_idx ON pelamar (no_tes); Pastikan bahwa data pada tabel pelamar dapat dilihat pada Gambar 1.
Gambar 1. Isi tabel pelamar nama no_tes Ali Akbar A1 Asnan Widodo A2 Budi B1 Aang Wardana A3 Cecep C1 Cecilia C2 Arif Lukman A4 Berta B2 Gambar 1. Isi tabel pelamar
Tampak pada Gambar 1, cobalah berikan perintah berikut: INSERT INTO pelamar VALUES (‘Amirudin’, ‘A3’); Pemasukan data di atas akan membuat sistem memberikan pesan bahwa nilai A3 sudah ada dan pemasukan data ditolak. Itulah efek dari indeks yang unik.
5. Membuat Indeks berdasarkan Beberapa Kolom Menciptakan indeks beberapa kolom bisa dilakukan. Bentuk penyebutan nama kolom adalah: ON nama_tabel (kolom1, kolom2, …, kolom_n) Sebagai contoh, buatlah tabel nilai terlebih dahulu melalui perintah: CREATE TABLE nilai ( no_mhs CHAR(5) NOT NULL, kode_mkuliah CHAR(5) NOT NULL, nilai CHAR); Selanjutnya, bisa menciptakan indeks melalui perintah berikut: CREATE UNIQUE INDEX nilai_idx ON nilai (no_mhs, kode_mkuliah); Pada contoh ini, indeks nilai_idx dibentuk oleh kolom no_mhs dan kode_mkuliah yg terdapat pada tabel nilai.