Apa itu Primary Key, Foreign Key dan Candidate Key

Devi Apriyanti
4 min readOct 7, 2023

--

Di dalam sebuah basis data, ada beberapa jenis kunci yang digunakan untuk mengidentifikasi dan menghubungkan data yang ada dalam sebuah tabel. Tiga diantara jenis kunci yang umum digunakan yaitu Primary Key, Foreign Key, dan Candidate Key. Lalu sebenarnya apa sih ke-3 kunci tersebut ?

1. Primary Key

Pengertian primary key

Primary key adalah sebuah aturan dalam sebuah tabel yang berfungsi untuk memastikan nilai pada setiap baris data terlihat unik dan tidak sama satu sama lain. sedangkan secara sederhananya, primary key dapat diartikan sebagai identitas untuk membedakan setiap data yang ada pada tabel.

Keunikan dari primary key ini, yaitu mampu mencegah terjadinya duplikasi data dan juga mampu membantu dalam melakukan pencarian dengan waktu yang lebih singkat.

Gambar contoh primary key

Contoh primary key yang lainnya bisa di tentukan dari adanya User Id, Kode sebuah barang, Nomor Induk Kependudukan atau KTP, dan masih banyak yang lainnya. Itu semua merupakan contoh data unik yang bisa digunakan sebagai Primary Key.

Syarat dari primary key

Di dalam sebuah primary key terdapat beberapa syarat yang harus dipenuhi diantara nya yaitu :

-Setiap tabel hanya memiliki 1 primary key

-Nilai dalam kolom primary key harus unik

-Tidak boleh berisi NULL

-Tidak boleh ada yang memiliki nilai yang sama atau berulang

Contoh penerapan primary key pada ERD

1. Entitas Mahasiswa

· Primary key : Nomor Induk Mahasiswa (Nim)

· Atribut lainnya : Nama Mahasiswa, Jurusan, Tanggal Lahir

2. Entitas Karyawan

· Primary key : ID Karyawan

· Atribut lainnya : Nama karyawan, Jabatan, Gaji

3. Entitas Buku

· Primary key : Kode Buku

· Atribut lainnya : Judul, Penulis, Tahun Terbit

4. Entitas Produk

· Primary key : Kode produk

· Atribut lainnya : Nama produk, Harga, Stok

5. Entitas Dosen

· Primary key : Nomor Induk Dosen Nasional (NIDN)

· Atribut lainnya : Nama Dosen, Tanggal Lahir, Email

2. Foreign Key

Pengertian foreign key

Secara umum, Foreign key adalah alat yang penting dalam perancangan basis data relasional karena memungkinkan untuk mengelola dan memelihara data serta menghubungkan informasi antar tabel.

Jadi, bisa dikatakan foreign key ini sebagai sebuah atribut atau sebuah gabungan dari atribut yang terdapat di dalam sebuah tabel yang digunakan untuk menciptakan hubungan atau relasi dari dua tabel atau lebih.

Walaupun Foreign key bukan termasuk atribut utama yang harus berada pada sebuah tabel layaknya primary key. Tapi keberadaan Foreign key memiliki peran penting dalam menghubungkan antara tabel master dan tabel turunan dalam sebuah basis data.

Gambar contoh foreign key

Melalui gambar tersebut, diperoleh dua tabel. Tabel pertama merupakan tabel Mahasiswa dan tabel kedua merupakan tabel Penilaian. Letak foreign key nya yaitu terdapat pada Nim.

Contoh penerapan foreign key pada ERD

1. Hubungan antara Tabel Buku dan Tabel Peminjaman :

· Primary key Tabel Buku : Kode buku

· Tabel Peminjaman memiliki foreign key : Kode buku, yang mana kode buku ini mengacu pada primary key yang ada pada Tabel Buku.

2. Hubungan antara Tabel Siswa dan Tabel Pendaftaran :

· Primary key Tabel Siswa : Nomor Induk Siswa Nasional (NISN)

· Tabel Pendaftaran memiliki foreign key : NISN, yang mana NISN ini mengacu pada primary key yang ada pada Tabel Siswa

3. Hubungan antara Tabel rekening bank dan Tabel Transaksi :

· Primary key Tabel rekening : Nomor rekening

· Tabel Transaksi memiliki foreign key : Nomor rekening, yang mana Nomor rekening ini mengacu pada primary key yang ada pada Tabel rekening bank

4. Hubungan antara Tabel Dosen dan Tabel Pengajar :

· Primary key Tabel Dosen : Nomor Induk Dosen Nasional (NIDN)

· Tabel Pengajar memiliki foreign key : NIDN, yang mana NIDN ini mengacu pada primary key yang ada pada Tabel Dosen

5. Hubungan antara Tabel Produk dan Tabel Penjualan :

· Primary key Tabel Produk : Kode produk

· Tabel Penjualan memiliki foreign key : Kode produk, yang mana Kode produk ini mengacu pada primary key yang ada pada Tabel Produk

3. Candidate Key

Pengertian candidate key

Candidate key adalah himpunan kolom yang dapat digunakan untuk mengidentifikasi setiap baris dalam tabel. Dalam istilah sederhananya, candidate key adalah kunci potensial yang dapat digunakan untuk mengidentifikasi secara unik entitas dalam sebuah tabel.

Kamus wordsense mendefinisikan Candidate Key sebagai kolom atau kelompok yang tidak dapat direduksi dan mampu mengidentifikasi setiap baris tabel dalam desain tabel basis data.

Candidate key bisa merujuk pada 1 kolom atau lebih di dalam sebuah tabel yang memiliki sifat yang unik.

Gambar contoh candidate key

Contoh penerapan candidate key pada ERD

1. Entitas Mahasiswa

· Atribut : Nama, Nomor Induk Mahasiswa (NIM), Tanggal lahir, Nomor Mahasiswa

· Candidate key : Nomor Induk Mahasiswa (NIM), Nomor Mahasiswa

2. Entitas Barang

· Atribut : Nama barang, Kode barang, Harga, Nomor barang

· Candidate key :Kode barang, Nomor barang

3. Entitas Buku

· Atribut : Judul, Penulis, Kode buku

· Candidate key : Kode buku

4. Entitas Guru

· Atribut : Nama, Nomor Unik Pendidik dan Tenaga Kependidikan (NUPTK), Nomor Induk Kependudukan (NIK), Tanggal Lahir

· Candidate key : Nomor Unik Pendidik dan Tenaga Kependidikan (NUPTK), Nomor Induk Kependudukan (NIK)

5. Entitas Karyawan

· Atribut : Nama, ID pegawai, Nomor Induk Kependudukan (NIK), Jabatan

· Candidate key : ID pegawai, Nomor Induk Kependudukan (NIK)

Instansi : Universitas Buana Perjuangan Karawang

Dosen Pengampu : Adi Rizky Pratama M.Kom

--

--