catatanlepas.com

  • Increase font size
  • Default font size
  • Decrease font size
  • default color
  • black color
Home Komputer Database Constrain dan Index Pada Mysql

Constrain dan Index Pada Mysql

Email Cetak PDF

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

21 Rabi'ul Akhir 1430 H
17 April 2009 M

+ 6
+ 2
Comments
Add New Search
hasbi  - Index membuat looping di PHP meloncat?   |114.4.12.xxx |2009-07-25 17:45:58
Ya... penggunaan index akan mempercepat pencarian. Contohnya dengan select....bla..bla... Tapi pernah denger kasus nggak? dengan menggunakan index pada table di mysql, ketika nyambung ke PHP akan dan dilakukan perintah select dengan looping (mysql_result) maka index seringkali melompat di loopingnya..... atau kasus seperti ini bukan disebabkan karena indexnya ya...? gk tau dah.. cuma koment?
catatan   |SAdministrator |2009-08-13 20:29:56
Wah, maaf ya. Saya belum pernah mencoba perintah seperti itu.
blackphp  - index bikin hasil query loncat     |125.164.77.xxx |2009-10-18 16:13:11
kayaknya index gk bikin result query jdi loncat (q lom prnah denger kasus kyk gni di forum2 ato apalah )....
malahan dengan index yg tepat pencarian data pad tabel mysql akan semakin cepat!
coba cek coding anda!
Anonymous   |180.246.109.xxx |2011-12-31 16:21:02
aseggggggggggggggggggggggg
catatan   |SAdministrator |2012-01-09 16:01:55
fikiwan  - thanks mas     |182.0.53.xxx |2012-04-27 08:53:48
nice share, sangat membantu walau masih sedikit binggung .
catatan   |SAdministrator |2012-04-27 13:21:40
Dear fikiwan,

Sama saya juga bingung
Write comment
Name:
Email:
 
Website:
Title:
UBBCode:
[b] [i] [u] [url] [quote] [code] [img] 
 
 
:angry::0:confused::cheer:B):evil::silly::dry::lol::kiss::D:pinch:
:(:shock::X:side::):P:unsure::woohoo::huh::whistle:;):s
:!::?::idea::arrow:
 
Please input the anti-spam code that you can read in the image.

3.26 Copyright (C) 2008 Compojoom.com / Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved."

Terakhir Diperbaharui ( Rabu, 20 Mei 2009 03:59 )  

Tanggal dan Jam


Ulti Clocks content

Browse this website in:


Mutiara Hari Ini

Inti dari semua urusan adalah Islam, tiangnya adalah shalat dan puncaknya adalah jihad (di jalan Allah) (HR. Tirmidzi)

Poling

Apakah artikel-artikel di situs ini bermanfaat untuk anda?

(283 votes)

7.8%
92.2%

Waktu Shalat