Bagaimana Cara Menghubungkan Dua Tabel Dalam Database?

Pernah melihat data pelanggan dan data pesanan berada di tabel yang berbeda, tetapi tetap bisa ditampilkan sebagai satu informasi? Di sinilah konsep hubungan antar tabel dalam database bekerja. Menghubungkan dua tabel memungkinkan sistem mengambil informasi dari beberapa sumber data tanpa harus menulis data yang sama berulang kali. Konsep ini banyak digunakan dalam website toko online, sistem akademik, aplikasi kasir, hingga sistem administrasi. Bagi pemula, istilah seperti primary key, foreign key, dan JOIN mungkin terdengar rumit. Padahal, jika dipahami melalui contoh sederhana, konsepnya cukup mudah untuk diikuti.

Kenapa Data Perlu Dipisahkan ke Beberapa Tabel?

Bayangkan sebuah toko online memiliki data pelanggan dan data pesanan. Jika seluruh informasi disimpan dalam satu tabel, data nama, alamat, nomor telepon, produk, dan transaksi bisa berulang berkali-kali. Semakin banyak transaksi, semakin besar pula kemungkinan terjadi data yang tidak konsisten.

Karena itu, database biasanya memisahkan informasi berdasarkan jenisnya. Contohnya:

  • Tabel pelanggan menyimpan identitas pelanggan.
  • Tabel pesanan menyimpan informasi transaksi.
  • Tabel produk menyimpan detail barang.

Pemisahan tersebut membuat data lebih terorganisasi. Tantangannya kemudian muncul: bagaimana sistem mengetahui bahwa pesanan tertentu dimiliki oleh pelanggan tertentu? Jawabannya adalah dengan membuat hubungan antar tabel.

Kenali Primary Key dan Foreign Key

Sebelum menghubungkan tabel, ada dua istilah yang perlu dipahami, yaitu primary key dan foreign key.

Primary key merupakan kolom yang digunakan sebagai identitas unik setiap data dalam sebuah tabel. Misalnya, tabel pelanggan memiliki id_pelanggan. Setiap pelanggan mempunyai ID yang berbeda sehingga sistem dapat membedakannya.

Sementara itu, foreign key adalah kolom yang mengacu pada primary key di tabel lain. Misalnya, tabel pesanan memiliki id_pelanggan. Kolom tersebut dapat digunakan untuk menunjukkan pelanggan yang melakukan pesanan.

Sederhananya, hubungan tersebut dapat dibayangkan seperti ini:

Pelanggan → id_pelanggan → Pesanan

Dengan hubungan tersebut, sistem dapat mengetahui siapa pemilik suatu transaksi tanpa harus menyalin seluruh informasi pelanggan ke tabel pesanan.

Ada Apa di Balik Perintah JOIN?

Setelah dua tabel memiliki kolom yang saling berhubungan, data dapat digabungkan menggunakan perintah JOIN dalam SQL. JOIN memungkinkan sistem mengambil informasi dari tabel yang berbeda berdasarkan kondisi tertentu.

Misalnya, terdapat tabel pelanggan dengan kolom id_pelanggan dan tabel pesanan yang juga memiliki id_pelanggan. Untuk menampilkan nama pelanggan beserta pesanannya, konsep sederhananya dapat ditulis seperti berikut:

SELECT pelanggan.nama, pesanan.nama_produk

FROM pelanggan

JOIN pesanan

ON pelanggan.id_pelanggan = pesanan.id_pelanggan;

Perintah tersebut memberitahu database bahwa data pada kedua tabel perlu dicocokkan berdasarkan id_pelanggan.

Saat JOIN Tidak Menghasilkan Data, Apa Masalahnya?

Bagian ini sering membuat pemula bertanya, “Kenapa tabelnya sudah dihubungkan, tetapi datanya tidak muncul?” Salah satu penyebabnya adalah nilai pada kolom yang digunakan untuk hubungan tidak sesuai.

Contohnya, id_pelanggan pada tabel pertama berisi angka 101, sedangkan data yang seharusnya mengacu pada pelanggan tersebut di tabel kedua justru berisi 102. Database tentu tidak dapat menemukan kecocokan.

Masalah juga dapat terjadi karena:

  • Kolom hubungan memiliki tipe data yang berbeda.
  • Foreign key berisi nilai yang tidak tersedia pada tabel utama.
  • Penulisan nama kolom atau tabel keliru.
  • Struktur relasi belum dirancang dengan benar.

Solusinya adalah memeriksa struktur tabel, memastikan primary key dan foreign key sudah tepat, serta mengecek kembali data yang digunakan sebagai penghubung.

Memahami Relasi Database Lebih Serius

Ma’soem University menyediakan program studi S1 Sistem Informasi yang dapat menjadi pilihan bagi calon mahasiswa yang ingin mempelajari bagaimana teknologi informasi digunakan untuk mengelola kebutuhan organisasi dan bisnis. Dalam pembelajarannya, mahasiswa dapat mengenal berbagai konsep sistem informasi, pengelolaan data, database, serta perancangan sistem. Bagi yang ingin memahami bagaimana data diolah dan bagaimana sebuah sistem dibangun agar dapat bekerja secara terstruktur, mempelajari bidang Sistem Informasi dapat menjadi langkah yang relevan. Informasi mengenai program studi dan pendaftaran dapat ditanyakan melalui Admin Univ Ma’soem di +62 851 8563 4253.

INNER JOIN, LEFT JOIN, dan Kawan-Kawannya

Tidak semua kebutuhan penggabungan data menggunakan jenis JOIN yang sama. SQL memiliki beberapa jenis JOIN dengan fungsi berbeda.

INNER JOIN menampilkan data yang memiliki kecocokan pada kedua tabel. Jenis ini cocok ketika sistem hanya membutuhkan data yang benar-benar memiliki pasangan.

LEFT JOIN menampilkan seluruh data dari tabel sebelah kiri, meskipun tidak semuanya memiliki pasangan pada tabel sebelah kanan. Misalnya, bisnis ingin melihat seluruh daftar pelanggan sekaligus mengetahui pelanggan mana yang sudah melakukan transaksi.

Ada pula RIGHT JOIN yang bekerja dengan prinsip serupa tetapi memprioritaskan tabel sebelah kanan. Pemilihan JOIN sebaiknya disesuaikan dengan informasi yang ingin ditampilkan, bukan sekadar mengikuti contoh kode yang ditemukan di internet.

Contoh Sederhana dalam Sistem Bisnis

Misalnya sebuah toko mempunyai tabel produk dan kategori. Tabel produk menyimpan nama barang, harga, serta id_kategori, sedangkan tabel kategori menyimpan id_kategori dan nama kategori.

Ketika website menampilkan “Sepatu — Fashion”, sistem sebenarnya dapat mengambil nama produk dari tabel produk dan nama kategorinya dari tabel kategori. Keduanya terhubung melalui id_kategori.

Model seperti ini membuat pengelolaan data lebih efisien. Jika nama kategori berubah, bisnis tidak perlu mengubah nama tersebut pada setiap produk secara manual. Cukup memperbarui data pada tabel kategori.

Database yang Rapi Membuat Sistem Lebih Mudah Dikembangkan

Menghubungkan tabel bukan hanya soal membuat perintah SQL berhasil dijalankan. Hal yang lebih penting adalah memahami bagaimana data dirancang sejak awal. Relasi yang tepat dapat membantu mengurangi pengulangan data, menjaga konsistensi informasi, dan membuat sistem lebih mudah dikembangkan.

Bagi pemula yang ingin menguasai database, latihan membuat tabel sederhana, menentukan primary key dan foreign key, kemudian mencoba berbagai JOIN dapat menjadi cara yang efektif. Jika ingin mempelajarinya secara lebih terarah, pendidikan di bidang Sistem Informasi dapat membantu membangun dasar tersebut, mulai dari memahami data hingga merancang sistem yang benar-benar dapat digunakan untuk kebutuhan nyata.