Kamis, 02 April 2015

Primary Key, Foreign Key, Unique dan Index

Di perkuliahan dipertanyakan definisi dan perbedaan primary key, foreign key, unique dan index. Tapi seperti biasa saya cuma bisa diam, di otak sih ada sesuatu tapi sulit untuk menyampaikannya, tapi hasil googling semakin meyakinkan pendapat saya.
Dalam database (mySQL) dikenal beberapa istilah yaitu primary key, foreign key, unique dan index. Menurut Om Wiki, Primary Key atau Unique Key merupakan kunci yang secara unik mengidentifikasi baris pada tabel. Primary Key atau Unique Key dapat diterapkan pada satu atau lebih field. Apabila primary key/ unique key diterapkan pada satu atau lebih field maka pada field tersebut tidak boleh bernilai sama untuk seluruh baris pada tabel. Kemudian yang membedakan primary key dan unique key adalah setiap kita memberikan constraint primary key pada field maka constraint NOT NULL akan diberikan pada field tersebut secara otomatis, sedangkan pada unique key tidak.
Selain kedua istilah diatas, terdapat juga istilah foreign key. Dengan adanya foreign key dapat terlihat adanya hubungan antara satu tabel dengan tabel lain. Foreign key mengidentifikasi satu atau lebih kolom pada satu tabel (tabel referensi) mengarah dari satu atau lebih tabel lainnya (tabel induk). Dengan adanya constraint foreign key pada satu kolom maka data pada kolom tabel referensi harus terdapat pada tabel induk. Pada mysql 5.0, foreign key hanya dapat diterapkan pada tabel dengan type InnoDB namun pada versi selanjutnya dapat diterapkan juga pada MyIsam. Kemudian field dengan tipe BLOB atau TEXT tidak dapat diberikan contraint foreign key.

Untuk mengoptimasi database kita dapat menggunakan index, karena index mampu meningkatkan kecepatan operasi pada suatu tabel (terutama operasi SELECT). Pada mysql, index dan data dari suatu tabel tersimpan secara terpisah, dengan kata lain membutuhkan ruang penyimpanan yang lebih banyak, kesalahan pemberian index pada suatu kolom dapat memperlambat operasi pada suatu tabel, karena index dibaca terlebih dahulu untuk mendapatkan data. Gunakan foreign key pada kolom yang sering digunakan untuk pencarian data.

Referensi : MySql Manual Reference
Sumber : wikipedia.org 
Sekian, semoga bermanfaat J

1 komentar:

Posting Komentar

Posting Lebih Baru Posting Lama Beranda

Diberdayakan oleh Blogger.
 

Translate

Followers

 

Templates by Nano Yulianto | CSS3 by David Walsh | Powered by {N}Code & Blogger

Blogger Wordpress Gadgets