Posted in On Learn
Email This Post
Print
Diperkuliahan dipertanyakan definisi dan perbedaan primary key, foreign key, unique dan index. Tapi seperti biasa saya cma bisa diam, diotak 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
Bookmark: Del.icio.usSpurlFurlSimpyBlinkDigg
RSS feed for comments on this post | TrackBack URI for this post
You may Leave a comment or Subscribe to Comments RSS or Trackback this entry.
Leave a comment
Please be polite and on topic. Your e-mail will never be published.






