Apa itu Foreign Key?



Foreign Key

Foreign Key (Kunci Tamu) adalah atribut dalam satu tabel yang mengacu (mereferensikan) Primary Key dari tabel lain. Fungsinya adalah untuk menghubungkan dua tabel agar data tetap terkait dan konsisten.

Bayangkan seperti ini:

Kalau Primary Key itu “KTP” seseorang,

maka Foreign Key itu seperti “nomor KTP orang tua” yang kita simpan di data anak — menunjukkan hubungan antar data.


Tujuan dan Fungsi Foregent Key

1. Membuat relasi antar tabel = Menghubungkan data dari satu tabel ke tabel lain.

2. Menjaga integritas referensial = Mencegah data dihapus atau dimodifikasi jika masih dipakai di tabel lain.

3. Menyimpan hubungan logis = Contoh: Mahasiswa mengambil Mata Kuliah — data ini disimpan dengan Foreign Key.

4. Memudahkan join query = Relasi PK–FK digunakan untuk menggabungkan data dari beberapa tabel.


Aturan Foregent Key

1. Nilai Foreign Key harus sesuai dengan nilai Primary Key di tabel yang dirujuk.

2. Boleh bernilai NULL (jika hubungan tidak wajib).

3. Bisa ada lebih dari satu Foreign Key dalam satu tabel.

4. Tidak harus unik (bisa berulang, karena banyak entitas bisa mengacu pada satu data utama).


Ciri-Ciri Foregent Key

1. Menghubungkan dua tabel

2. Nilainya berasal dari Primary Key tabel lain

3. Boleh bernilai NULL

4. Bisa memiliki nilai yang sama (tidak harus unik)

5. Menjaga integritas referensial (referential integrity)

6. Dapat digunakan lebih dari satu kali dalam satu tabel

7. Biasanya ditandai dengan (FK) dalam ERD

8. Mengandung nilai yang identik dengan PK di tabel induk


Contoh Penerapan Primary Key dalam ERD

No

Nama Entitas

Atribut

Keterangan

1

Obat

Kode_Obat (PK), Nama_Obat, Harga

Data master obat

2

Transaksi

No_Transaksi (PK), Tanggal, ID_Pelanggan (FK)

Transaksi penjualan

3

MataKuliah

Kode_MK (PK), Nama_MK, SKS

Data mata kuliah

4

KRS

ID_KRS (PK), NIM (FK), Kode_MK (FK), Semester

Data pengambilan mata kuliah

5

Pesanan

ID_Pesanan (PK), Tanggal, ID_Pelanggan (FK)

Data pesanan pelanggan

Komentar