- Contoh Tabel
- Apa Itu FOREIGN KEY?
- Contoh: Menambahkan Data Berelasi
- JOIN untuk Melihat Data Lengkap
- Kesalahan yang Dihindari
- Kesimpulan
Halo teman-teman semuanya, di seri kesebelas ini kita akan membahas tentang FOREIGN KEY dan bagaimana cara membuat relasi antar tabel dalam SQL. Konsep ini sangat penting saat kita membangun database yang datanya saling berkaitan — contohnya, data siswa yang berelasi dengan data jurusan, atau transaksi yang berelasi dengan data pelanggan.
Contoh Tabel
Untuk mempermudah pemahaman, kita akan membuat dua tabel:
-
Tabel
jurusanCREATE TABLE jurusan ( id INT PRIMARY KEY AUTO_INCREMENT, nama_jurusan VARCHAR(50) );Isi data:
id nama_jurusan 1 IPA 2 IPS -
Tabel
siswaCREATE TABLE siswa ( id INT PRIMARY KEY AUTO_INCREMENT, nama VARCHAR(50), umur TINYINT, kelas VARCHAR(20), jurusan_id INT, FOREIGN KEY (jurusan_id) REFERENCES jurusan(id) );Kolom
jurusan_iddi tabelsiswaadalah foreign key yang merujuk ke kolomiddi tabeljurusan.
Apa Itu FOREIGN KEY?
FOREIGN KEY adalah kolom dalam satu tabel yang digunakan untuk menghubungkan data ke tabel lain. Tujuannya adalah agar data tetap konsisten, saling terhubung, dan tidak terjadi data "liar" yang tidak valid.
Manfaat FOREIGN KEY:
- Menjaga integritas data antar tabel
- Mencegah data tidak valid (misalnya, siswa dengan jurusan yang tidak terdaftar)
- Membentuk hubungan antar entitas, seperti satu ke banyak (one-to-many)
Contoh: Menambahkan Data Berelasi
Tambahkan data ke tabel siswa
INSERT INTO siswa (nama, umur, kelas, jurusan_id)
VALUES ('Ali', 18, 'XII IPA 1', 1),
('Budi', 17, 'XI IPS 2', 2);
Hasil Tabel siswa:
| id | nama | umur | kelas | jurusan_id |
|---|---|---|---|---|
| 1 | Ali | 18 | XII IPA 1 | 1 |
| 2 | Budi | 17 | XI IPS 2 | 2 |
JOIN untuk Melihat Data Lengkap
Kalau kita ingin menampilkan nama jurusan berdasarkan jurusan_id, kita bisa menggunakan JOIN:
SELECT siswa.nama, siswa.kelas, jurusan.nama_jurusan
FROM siswa
JOIN jurusan ON siswa.jurusan_id = jurusan.id;
Hasil:
| nama | kelas | nama_jurusan |
|---|---|---|
| Ali | XII IPA 1 | IPA |
| Budi | XI IPS 2 | IPS |
Kesalahan yang Dihindari
Menambahkan data ke tabel siswa dengan jurusan_id yang tidak ada di tabel jurusan akan gagal, karena foreign key tidak terpenuhi.
-- Akan error jika jurusan_id = 99 tidak ada
INSERT INTO siswa (nama, umur, kelas, jurusan_id)
VALUES ('Citra', 18, 'XII IPA 3', 99);
Kesimpulan
Di artikel ini, kita sudah belajar bahwa FOREIGN KEY adalah penghubung antar tabel di dalam database.
Di artikel berikutnya, kita akan mulai membahas berbagai jenis JOIN (seperti INNER JOIN, LEFT JOIN, dan RIGHT JOIN) untuk menampilkan data dari beberapa tabel sekaligus.
Terima Kasih
Artikel ini dibaca sebanyak 2.432 kali
{ setTimeout(() => { showShimmer = false; }, 300); })"
:class="{'opacity-0': !loaded, 'opacity-100': loaded}"
class="lazy w-full h-auto rounded-xl border border-white dark:border-neutral-700/80 transition-opacity duration-500"
loading="lazy"
/>
SAWERIA
Memuat komentar...