
Menyambungkan Titik-Titik Data
Saat membuat Backend, kamu pasti akan menggunakan Database SQL (seperti MySQL atau PostgreSQL). Fitur terhebat dari SQL adalah kemampuannya menautkan berbagai tabel data secara rapi (Relational). Nah, untuk menautkan tabel Users dengan tabel Orders (Pesanan), kamu membutuhkan dua gembok ajaib: Primary Key dan Foreign Key.
1. Primary Key (KTP Sang Pemilik)
Primary Key (PK) adalah sebuah kolom khusus di dalam tabel yang tugasnya menjadi "Identitas Unik" untuk setiap baris data. Anggap saja Primary Key ini seperti Nomor KTP (NIK) penduduk.
- Sifat Wajib 1: Unik. Jika Budi mendapat ID angka
1, tidak boleh ada satupun user lain di tabel itu yang memiliki ID1. - Sifat Wajib 2: Tidak Boleh Kosong (Not Null). Setiap data yang masuk WAJIB memiliki identitas ini.
- Biasanya, developer menamai kolom ini dengan
id(berupa angka Auto-Increment atau UUID teks acak).
2. Foreign Key (KTP Titipan)
Foreign Key (FK) adalah sebuah kolom di suatu tabel yang berisi Primary Key milik tabel lain. Ia berfungsi sebagai "Jangkar" untuk mengaitkan data.
Misalnya, Budi (ID: 1) memesan sebuah Sepatu. Di tabel Orders (Pesanan), kita membuat baris pesanan sepatu. Agar tahu bahwa sepatu itu milik Budi, kita menambahkan kolom user_id di tabel pesanan, dan mengisinya dengan angka 1.
Dalam hal ini, user_id di tabel Pesanan adalah sebuah Foreign Key.
Analogi Mudah: Parkir Kendaraan
- Sebuah Mobil memiliki Nomor Polisi (Plat Nomor)
B 1234 CD. Plat nomor ini adalah Primary Key karena unik untuk setiap mobil. - Saat mobil itu diparkir di Mall, petugas keamanan memberikan Tiket Parkir. Di dalam Tiket Parkir itu, tertulis
Plat: B 1234 CD. Tulisan plat di tiket itu adalah Foreign Key, yang membuktikan bahwa tiket tersebut "terhubung" secara sah dengan sang Mobil aslinya.
Kenapa Harus Pakai Foreign Key? (Data Integrity)
Kamu mungkin bertanya: "Kenapa di tabel Pesanan kita tidak menulis nama 'Budi' langsung saja daripada repot menulis ID 1?"
Bayangkan jika besok Budi ganti nama akun menjadi "Budi Setiawan". Jika kamu menulis namanya secara manual, kamu harus meng-update ribuan baris pesanannya yang lama. Dengan Foreign Key, kamu cukup mengganti tabel Users-nya, dan seluruh tabel pesanannya akan otomatis terbaca benar (menggunakan fungsi JOIN query) karena mereka merujuk pada nomor KTP/ID yang tidak pernah berubah!
Mau langsung pakai template?
Jelajahi template gratis dan premium di TampilKit untuk mempercepat proses development project kamu.
Browse Templates