Mempelajari macam macam relasi dalam database merupakan hal yang penting diketahui oleh programmer. Materi ini mungkin telah beberapa yang mempelajarinya di dalam bangku sekolah / kuliah.

Terdapat 3 macam relasi tabel yang umum dan sering kita jumpai saat merancang atau membuat database supaya database tersebut terlihat baik. jangan sampai database yang kita buat hanya dipahami oleh pembuat nya saja, sehingga tidak dapat dilanjutkan proses development nya oleh developer lain selain kita.

Macam macam relasi database yang kita bahas adalah :

  • One to One
  • One to Many
  • Many to Many
  1. One to One Relation

Relasi One to One adalah relasi dimana suatu baris tabel A hanya berhubungan dengan suatu baris tabel B. Perhatikan gambar dibawah ini

Gambar 1. One to One Relation

Dari gambar tersebut tabel penjual memiliki relasi one to one dengan tabel kota, sebagai contoh terdapat penjual bernama fahmi dengan alamat jl asempayung yang berada di kota surabaya.

A: Bang kenapa nggak langsung aja kasih kolom kota di tabel penjual? ribet amat kayak gini nih bang

B: Gak bisa gitu bang, pemberian tabel id_kota di gunakan supaya data lebih dinamis dan seragam di tiap penjual, bayangin nih kalo ada perubahan nama misal kata Surabaya diganti Kota Surabaya pastikan lu harus ngerubah semua baris penjual.

2. One to Many Relation

Relasi One to Many adalah relasi dimana suatu baris di table A memiliki relasi di beberapa baris di table B. Perhatikan gambar berikut

Contohnya adalah hubungan antara tabel penjual dan tabel produk, dimana 1 penjual memiliki beberapa produk. contohnya penjual bernama fahmi memiliki 2 produk yaitu pecel lele, dan tempe penyet.

3. Many to Many Relation

Relasi Many to Many adalah relasi dimana setiap lebih dari satu baris data dari tabel A berhubungan dengan lebih dari satu baris data pada tabel B. Artinya, kedua tabel masing-masing dapat mengakses banyak data dari tabel yang direlasikan. Maka dari itu, relasi Many to Many butuh tabel C sebagai perantara tabel A dan tabel B

Sebagai contoh pada gambar diatas, beberapa penjual memiliki hubungan dengan beberapa kategori. misal penjual A kategori Makanan dan Minuman, sedangkan penjual B kategorinya adalah Minuman saja. jika dibuat relasinya One to One atau One to Many akan kesusahan. maka dari itu butuh tabel perantara yang bernama penjual_kategori sebagai pengubung tabel penjual dan tabel kategori.

Pada dasarnya relasi Many to Many merupakan gabungan dari dua relasi One to Many. Sebagai contoh tabel penjual memiliki relasi one to many dengan tabel penjual kategori dan tabel kategori memiliki relasi one to many ke tabel penjual kategori.

Note : Untuk perencanakan database biasanya saya menggunakan draw.io atau app.diagram.net terlebih dahulu sebelum membuat database migrationnya, kenapa? Soalnya dalam proses perencanaan database biasanya saya juga membayangkan bagaimana aplikasi itu berjalan, sehingga banyak sekali perubahan dalam proses perencanaan database

--

--