Sebelumnya kita sudah membahas tentang apa itu mysql dan mariadb, dan kita juga sudah membahas cara penginstalan mysql / mariadb. mungkin saat ini anda bertanya-tanya apa itu istilah primary key, foreign key, dan candidate key ? dalam dunia database kita tidak akan asing lagi mendengar istilah-istilah tersebut karna bagi seorang database administrator sangatlah penting memahami apa itu primary key, foreign key dan candidate key berkaitan dengan database yang akan dibuat, dirancang dan dioptimalisasi, nah sekarang kita akan membahas satu persatu dalam artikel kali ini gengs..
![]() |
Pengertian Database dalam Relational Database
Sebelum kita memahami apa itu primary key, kita harus paham apa itu relational database model,
Sebuah database adalah kumpulan relasi yang saling terhubung satu sama lainnya. Relasi adalah istilah dalam relational database, tapi kita lebih sering menyebutnya sebagai tabel.
Sebuah tabel memiliki kolom dan baris, dalam relational database kolom (column) disebut attribute, sedangkan baris (row) disebut tuple.
- kolom (column) = attribute
- baris (row) = tuple
Ini hanya sekedar penamaan, dan agar lebih mudah saya akan menggunakan istilah tabel, kolom dan baris dalam artikel ini, namun jika anda menemui istilah relation, attribut dan tuple, itu hanya istilah lain dari tabel, kolom, dan baris.
ID Kode_Item KodeSerial Nama_Item Jumlah 1 A01 AWAHSN Komputer 30 2 A02 PWIAJCW Laptop 45 3 A03 PSSEUAN Speaker 100 4 A04 IEANASD Mouse 90 5 A05 PEKASCA Keyboard 50
Table A.
Apa itu Candidate Key ?
Relational database dapat di sederhanakan menjadi kumpulan tabel yang saling terhubung. Setiap baris dari dalam tabel setidaknya harus memiliki sebuah data kolom yang unik.
Unik disini artinya data yang tidak boleh sama. Contohnya, dalam tabel A; kolom ID, kode_item, KodeSerial mungkin bisa menjadi kandidat yang bagus, karena tidak ada 2 nilai yang sama. ID, kode_item, KodeSerial disini disebut juga dengan Candidate Key (Kunci Kandidat).
Candidate Key adalah satu atau beberapa kolom dalam tabel yang bisa mengidentifikasi tiap baris dari tabel tersebut.
Namun data kode_item dan KodeSerial terkadang tidak selalu ada, karena bisa saja item tersebut belum memiliki kode dan serial yang ditentukan karena sesuatu dan lain hal.
Beberapa karakteristik Candidate key : unik (tidak boleh berulang), tidak boleh memiliki nilai null (kosong), nilai dari candidate key akan sangat jarang berubah.
Apa itu Primary Key ?
Dalam sebuah tabel, akan terdapat beberapa candidate key, namun hanya ada 1 Primary key (kunci utama).
Primary key adalah salah satu candidate key yang kita nobatkan sebagai kolom unik untuk identifikasi baris dalam tabel.
Kolom ini tidak boleh berulang, dan tidak boleh kosong (null). Dari tabel A, ID dapat kita tetapkan sebagai primary key.
ID Kode_Item KodeSerial Nama_Item Jumlah 1 A01 AWAHSN Komputer 30 2 A02 PWIAJCW Laptop 45 3 A03 PSSEUAN Speaker 100 4 A04 IEANASD Mouse 90 5 A05 PEKASCA Keyboard 50
Table A.
Kode_Item Harga A01 3000000 A02 4500000 A03 100000 A04 90000 A05 120000
Table B.
Apa itu Foreign Key ?
Dalam sebuah database, biasanya akan terdapat beberapa tabel. Tabel-tabel ini dapat dihubungkan satu dengan yang lainnya dengan kolom yang merupakan bagian dari tabel lain.
Foreign Key (Kunci Tamu) adalah Primary key dari tabel lainnya yang terdapat di tabel saat ini.
Sebagai contoh di dalam tabel A dapat terlihat bahwa ID adalah primary key dari tabel A, dan kode_item adalah primary key pada table B. Kedua tabel tersebut dihubungkan oleh kolom kode_item.
Berikut ini saya akan mencontohkan perintah yang digunakan untuk menggabungkan table A dan table B;
SELECT A.Nama_Item, B.Harga
FROM A
INNER JOIN B
ON A.kode_item = B.kode_item
ORDER BY A.Nama_Item;
Nama_Item Harga Komputer 3000000 Laptop 4500000 Speaker 100000 Mouse 90000 Keyboard 120000
Hasil dari query diatas