gravatar

Constrain dan Index Pada Mysql

A. Constrain

Constrain merupakan suatu aturan yang membatasi jenis data yang boleh dimasukkan dalam tabel. Sebenarnya ini merupakan bagian yang sangat mendasar dari sistem database. Berikut ini akan dijelaskan jenis constraint yang dapat dgunakan pada MySQl beserta fungsi-fungsinya.


1. Primary key
Constrain Primary key mempunyai sifat suatu kolom tidak boleh bernilai NULL dan harus unik yaitu tidak boleh memiliki nilai yang sama dalam satu kolom. Perlu diketahui, MySQL tidak meperbolehkan adanya multi primary key dalam sebuah tabel. Selain itu, atribut ini juga digunakan untuk menghubungkan satu tabel dengan tabel lainnya. Contohnya adalah sebagai berikut:


> create tabel pegawai (id_peg INT(6) NOT NULL, nama varchar(30), Primary key (id_peg));

Jadi, jika kita memberikan data id_peg dengan data yang sama, maka akan terjadi error.


2. UNIQUE
Constraint UNIQUE digunakan apabila dalam sebuah tabel mendapat lebih dari satu kunci yang unik. Sebagaimana penjelasan diatas, MySQL hanya memperbolehkan sebuah PRimary KEY dalam satu tabel. Sehingga kita dapat menggunakan UNIQUE ini jika kita ingin menggunakan lebih dari satu kunci yang unik pada tabel yang telah kita buat. Contohnya sebagai berikut:

create tabel pegawai (id_peg INT(6) NOT NULL, nama varchar(30),id_dept INT(6) NOT NULL, Primary key (id_peg), Unique (id_dep));

Jika kita memasukkan data id_dept dengan data yang sama, maka akan terjadi error.


3. NOT NULL
Constrain NOT NULL digunakan untuk menjamin tidak ada nilai NULL yang muncul pada suatu kolom. Sehingga jika kita tidak mengisikan nilai pada kolom NOT NULL, maka tidak akan ada nilai pada kolom tersebut alias kosong


4. NULL
NULL merupakan spesial value, karena sesuai pada setiap kolom dan atribut ini membolehkan suatu kolom dapat diisi dengan nilai null


B. INDEX
Index dapat digunakan untuk melakukan pencarian data per baris dengan nilai yang spesifik secara cepat. Tanpa menggunakan index, Mysql akan melakukan pencarian dari baris pertama sampai baris terakhir hingga data yang dicari ditemukan. Hal ini dapat memperlambat proses pencarian, apalagi jika data yang dicari dalam jumlah yang cukup besar. Pada dasarnya pencarian data menggunakan index akan lebih cepat hasilnya, karena tidak semua data di dalam akan dibaca. Pembuatan index pada Mysql hanya dapat dilakukan jika tabel tersebut dibuat dengan perintah create table.


1. Kegunaan Index
a. Dapat melakukan pencarian secara cepat, dengan mencocokkan klausa where pada data yabg dicari.
b. Dapat digunakan untuk mendapatkan record dari tabel lain ketika melakukan join antar tabel.
c. Dapat digunakan untuk mencari nilai maksimal atau minimal dari kolom yang spesial
d. Pada beberapa hal, perintah query dapat dioptimalkan untuk mendapatkan suatu data tanpa memerksa data-data lainnya.


2. Membuat Index
Format untuk membuat index adalah sebagai berikut:

create index [nama_index] ON [database] (kolom(panjang_karakter));


Misal kita ingin membuat index bernama idteman_ind pada database alamat di kolom teman dengan panjang karakter 4, maka format diatas menjadi:

create index idteman_ind ON alamat (teman(4));


3. Menggunakan multi index

Jika kita ingin menggunakan multi index, maka formatnya adalah sebagai berikut:

create index [nama_index] on [database] ([kolom1](panjang_karakter1), kolom2(panjang_karakter2));

Misal kita ingin membuat multi index bernama multi_ind pada database penerbit di kolom id dengan panjang karakter4 dan kolom nama dengan panjang karakter 4, maka format diatas menjadi:

create index multi_ind on penerbit (id(4), nama(6));


4. Menampilkan index

Untuk menampilkan index yang telah kita buat, formatnya adalah sebagai berikut:
show index from [kolom_yang_di_index];

Misal kita mau melihat index dari kolom buku, maka format di atas menjadi:

show index from buku;

Referensi

Belajar sendiri administrasi database server mysql, Didik dwi prasetyo