Primary key dan foreign key adalah konsep penting dalam database. Primary key dipakai untuk mengenali setiap baris data secara unik, sedangkan foreign key dipakai untuk menghubungkan satu tabel dengan tabel lain.
Jika kamu sedang belajar basis data, dua istilah ini wajib dipahami karena sering muncul saat membuat tabel, relasi, dan query database.
Apa Itu Primary Key?
Primary key adalah kolom atau gabungan kolom yang nilainya unik untuk setiap baris dalam tabel. Nilai primary key tidak boleh sama dan tidak boleh kosong.
Contoh: pada tabel siswa, kolom id_siswa bisa dijadikan primary key karena setiap siswa memiliki ID yang berbeda.
Apa Itu Foreign Key?
Foreign key adalah kolom pada suatu tabel yang merujuk ke primary key di tabel lain. Foreign key digunakan untuk membuat hubungan antar tabel.
Contoh: tabel nilai memiliki kolom id_siswa. Kolom ini bisa menjadi foreign key karena merujuk ke id_siswa pada tabel siswa.
Perbedaan Primary Key dan Foreign Key
| Aspek | Primary Key | Foreign Key |
|---|---|---|
| Fungsi | Mengenali baris data secara unik | Menghubungkan tabel |
| Nilai | Harus unik | Bisa berulang |
| Boleh kosong? | Tidak boleh | Tergantung aturan tabel |
| Letak | Di tabel utama | Di tabel yang berelasi |
| Contoh | id_siswa | id_siswa pada tabel nilai |
Contoh Primary Key dan Foreign Key
Misalnya ada dua tabel: tabel siswa dan tabel nilai.
Tabel siswa
| id_siswa | nama | kelas |
|---|---|---|
| 1 | Ani | 7A |
| 2 | Budi | 7B |
Pada tabel siswa, id_siswa adalah primary key.
Tabel nilai
| id_nilai | id_siswa | mapel | nilai |
|---|---|---|---|
| 101 | 1 | Matematika | 90 |
| 102 | 2 | Bahasa Indonesia | 85 |
Pada tabel nilai, id_nilai adalah primary key, sedangkan id_siswa adalah foreign key yang menghubungkan tabel nilai dengan tabel siswa.
Fungsi Primary Key
- Membedakan setiap data dalam tabel.
- Mencegah data ganda pada kolom kunci.
- Memudahkan pencarian data.
- Menjadi acuan untuk relasi tabel lain.
Fungsi Foreign Key
- Menghubungkan satu tabel dengan tabel lain.
- Menjaga konsistensi data.
- Mencegah data relasi yang tidak valid.
- Membantu membuat struktur database lebih rapi.
Ciri-Ciri Primary Key yang Baik
- Unik untuk setiap baris.
- Tidak berubah-ubah.
- Tidak boleh kosong.
- Sederhana dan mudah digunakan.
- Tidak bergantung pada data yang mudah diganti, seperti nama.
Kesalahan yang Sering Terjadi
- Menjadikan nama sebagai primary key padahal nama bisa sama.
- Tidak membuat relasi foreign key saat tabel saling terhubung.
- Mengisi foreign key dengan ID yang tidak ada di tabel utama.
- Menganggap foreign key harus selalu unik, padahal bisa berulang.
FAQ
Apa itu primary key?
Primary key adalah kunci utama tabel yang digunakan untuk mengenali setiap baris data secara unik.
Apa itu foreign key?
Foreign key adalah kolom yang merujuk ke primary key di tabel lain untuk membuat relasi antar tabel.
Apa perbedaan primary key dan foreign key?
Primary key bersifat unik di tabel utama, sedangkan foreign key dipakai sebagai penghubung ke tabel lain.
Apakah foreign key boleh sama?
Ya, foreign key bisa berulang karena beberapa data bisa merujuk ke satu data utama yang sama.
Apakah primary key boleh kosong?
Tidak. Primary key tidak boleh kosong karena dipakai sebagai identitas unik data.
Kesimpulan
Primary key adalah kunci utama yang membuat setiap baris data menjadi unik. Foreign key adalah kunci penghubung antar tabel. Keduanya membantu database menjadi rapi, konsisten, dan mudah dikelola.