Kolom dalam satu tabel yang mereferensikan Primary Key di tabel lain, membentuk hubungan antar tabel dan menjaga integritas referensial data.
Foreign Key (FK) adalah kolom dalam satu tabel yang nilainya harus ada di Primary Key tabel lain. FK mendefinisikan hubungan (relationship) antar tabel dan memastikan referential integrity - tidak ada "orphan records" yang mereferensikan data yang tidak ada.
Table: orders
order_id | customer_id (FK) | amount
1 | 101 | 50000
2 | 101 | 30000
3 | 999 | ← ERROR! customer_id 999 tidak ada di customers
Table: customers
customer_id (PK) | name
101 | Andi
102 | Budi
| Action | Behavior |
|---|---|
| RESTRICT (default) | Error - tidak bisa hapus parent yang masih direferensikan |
| CASCADE | Hapus/update child secara otomatis saat parent dihapus/diupdate |
| SET NULL | Set FK = NULL saat parent dihapus |
| SET DEFAULT | Set ke nilai default saat parent dihapus |
Di Data Warehouse, FK dari fact table ke dimension tables biasanya:
Blueprint atau struktur yang mendefinisikan organisasi database - mencakup tabel, kolom, tipe data, relasi, dan constraints.
Proses mengorganisir tabel database untuk meminimalkan redundansi data dan mencegah anomali, menggunakan bentuk normal (1NF, 2NF, 3NF).
Kolom (atau kombinasi kolom) dalam tabel database yang secara unik mengidentifikasi setiap baris, tidak boleh NULL dan tidak boleh duplikat.
Struktur data yang mempercepat operasi pencarian pada tabel database dengan membuat lookup cepat, mirip seperti indeks di buku.
Query SQL yang disimpan dengan nama tertentu di database, sehingga bisa diperlakukan seperti tabel - memudahkan akses data kompleks tanpa mengulang query panjang.
Operasi SQL yang menggabungkan baris dari dua atau lebih tabel berdasarkan kolom yang saling berhubungan, memungkinkan query lintas tabel.
Udah paham Foreign Key? Lanjut latihan SQL dan Excel yuk!
Latihan interaktif, langsung di browser.