Maandag, 15 April 2013

primary key and foreign key



Kunci (Key)
Kunci merupakan elemen record yang dipakai untuk menemukan record tersebut pada waktu akses atau bisa digunakan untuk identifikasi tiap record.
Jenis-jenis kunci :
ü Superkey
ü Candidat key
ü Primary key
ü Alternate key
ü Foreign key
ü External key
Primary Key adalah atribut (field) yang dipilih untuk menentukan struktur storage pada organisasi file multi key, adapun key lainnya disebut dengan secondary key. Pengertian lainya Primary Key adalah suatu nilai dalam basis data yang digunakan untuk mengidentifikasi suatu baris dalam tabel. Nilai dari primary key adalah unik. pengertian lain
Primary key :Salah satu atrribut dari candidat key dapat dipilih menjadi primary key dengan 3 kriteria sbb :
  • Key tersebut lebih natural untuk dijadikan acuan
  • Key tersebut lebih sederhana
  • Key tersebut cukup uniqe
Foreign Key adalah Sebuah kumpulan field dalam satu relasi yang digunakan untuk me“refer” (menunjuk) ke suatu baris (tuple) pada relasi yang lain (harus berkorespondensi dengan primary key pada relasi yang kedua), seperti: ‘logical pointer’. Sedangkan hubungan antara keduanya (primary key dan foreign key) di jelaskan sebagai berikut,“Primary Key” adalah field kunci / utama dari suatu tabel yang menunjukkan bahwa field yang menjadi kunci tersebut tidak bisa diisi dengan data yang sama, atau dengan kata lain Primary key menjadikan tiap record memiliki identitas sendiri-sendiri yang membedakan satu sama lainnya (unik).“Foreign key” adalah satu attribute yang melengkapi satu relationship yang menunjukan ke induknya, dengan kata lain keduanya saling berkaitan. pengertian lain ;
Foreign key : merupakan sembarang atribut yang menunjuk kepada primary key pada tabel lain.
  • Akan terjadi pada suatu relasi yang memiliki kardinalitas one to many atau many to many
§  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.

1 opmerking: