Foreign Key

Apa itu Foreign Key?

Foreign key adalah suatu grup atau kolom pada tabel yang dapat menghubungkan 2 atau lebih database yang berbeda.

Dalam relational database, foreign key digunakan untuk merujuk pada primary key atau yang biasa disebut sebagai table master.

Saat kamu ingin menentukan tabel mana pada relational database yang harus mempunyai foreign key, maka kamu harus mengidentifikasi dulu tabel mana yang merupakan subjek atau objek.

Jika kamu ingin menjadi analis data yang handal, maka kamu harus menguasai penggunaan foreign key saat ingin membuat database SQL atau saat sedang mempelajari bahasa query.

Fungsi Foreign Key

Pada dasarnya, Foreign key berfungsi untuk memberi tanda hubungan antar tabel, atau yang dalam istilah pemrograman disebut sebagai ‘parent’ dan ‘child’.

Tabel pertama berperan sebagai parent yang berisi primary key atau table master. Sedangkan tabel kedua berperan sebagai child dan di sinilah tempat foreign key berada.

Sebuah tabel bisa dibilang sebagai child jika mempunyai kolom yang berisi data rujukan (references) dari tabel pertama atau parent.

Selain itu, foreign key juga memiliki beberapa fungsi lain sebagai berikut:

1. Membuat Database Jadi lebih Konsisten

Dengan menentukan foreign key, maka secara otomatis database akan jadi lebih konsisten dalam menjaga integritas diferensialnya. 

Karena hal itu, database dapat mengawasi semua data yang diinput. Dengan begitu, jika kalian memasukkan record yang tidak sesuai, maka database secara otomatis akan menolaknya.

2. Membuat Pekerjaan Jadi Lebih Efisien

Jika kamu sudah menetapkan primary key pada tabel pertama dan foreign key pada tabel kedua, maka rancangan fisik database akan jadi lebih transparan.

Dengan begitu, pekerjaan akan jadi lebih efisien karena kamu tidak perlu repot-repot membuat rancangan database lagi secara manual.

Jika kamu menggunakan software XAMPP, maka rancangan fisik database yang sudah dirancang bisa kamu lihat pada bagian more -> designer.

3. Memudahkan Proses Pengolahan Data

Dengan kamu menyediakan kolom yang akan diisi foreign key, maka proses pengolahan data nantinya akan jauh lebih mudah. Hal itu disebabkan karena data yang tersimpan telah saling berkaitan satu sama lain.

Manfaat Foreign Key

Seperti yang dinyatakan sebelumnya, foreign key mampu menunjukkan hubungan antara tabel utama (parent) dengan tabel foreign/kedua (child).

Tabel utama berisi kolom-kolom yang yang digunakan oleh tabel kedua. Maka, kolom-kolom pada tabel kedua akan merujuk pada kolom-kolom dari tabel utama.

Dengan begitu, manfaat dari foreign key adalah memastikan keberadaan kolom yang dirujuk pada tabel utama. Karena jika kolom yang dirujuk tidak ada pada tabel utama, kolom tersebut juga tidak akan ada pada tabel kedua.

Lalu manfaat lain dari foreign key adalah memastikan ketepatan kolom yang dirujuk meskipun nilai pada tabel utamanya sudah diedit atau dihapus. 

Perbedaan Foreign key dan Primary key

Setelah mengetahui apa saja pengertian, fungsi, dan manfaat dari foreign key. Kalian pasti bertanya-tanya apa saja sih perbedaan antara foreign key dan primary key?

Perbedaan yang paling mencolok adalah pada setiap tabel hanya bisa mempunyai satu primary key. Sedangkan hal itu tidak berlaku untuk foreign key, karena setiap tabel bisa memiliki banyak foreign key.

Meskipun begitu, masih ada beberapa perbedaan lain antara foreign key dan primary key yang akan dijelaskan dibawah ini.

1. Foreign Key

Berikut ini adalah beberapa ciri-ciri dari foreign key:

  • Foreign key berfungsi untuk menghubungkan 2 tabel dengan merujuk pada kolom-kolom yang ada pada primary key.
  • Foreign key bisa menerima value null.
  • Jika suatu value tidak ada pada primary key, maka kamu tidak bisa menambahkannya ke foreign key. Karena nilai pada foreign key merujuk dari primary key.

2. Primary Key

Berikut ini adalah beberapa karakteristik dari primary key:

  • Primary key merupakan atribut tunggal pada tabel, sehingga value nya tidak boleh berubah.
  • Primary key tidak bisa menerima value null. Sehingga recordnya harus diberi value dan tak boleh kosong.
  • Kamu bisa menambah value baru pada atribut primary key, meskipun pada foreign key tidak mempunyai value yang baru pada kolomnya.

Kutip Istilah Ini

Verdianto, Dwi Arizki. 2023. “Foreign Key - Pengertian, Fungsi, dan Bedanya dengan Primary Key”. Teknogram. Diakses 7 November 2024. https://teknogram.id/kamus/foreign-key/

Berhasil Disalin

Dwi Arizki Verdianto

Dwi adalah penulis dan editor di Teknogram. Dia merupakan seorang web developer dengan keahlian utama di bidang pengembangan web, open source, dan sistem operasi.

Firmware

Firmware adalah jenis perangkat lunak yang tertanam secara...

XD

Adobe XD adalah sebuah software yang dikembangkan oleh...

BIOS

BIOS (Basic Input Output System) adalah program suatu...

Faximile

Faximile adalah perangkat komunikasi yang digunakan untuk mengirim...

SIP

SIP (Session Initiation Protocol) adalah protokol pensinyalan yang...

Mouse

Mouse adalah sebuah perangkat input yang digunakan untuk...