Mengenal 3 Jenis Relasi Database Beserta Contoh Kasusnya – Salah satu hal yang wajib kita pelajari saat belajar Relational database adalah Relationship
Relationship sangatlah berguna jika kita ingin melakukan operasi-operasi rumit di dalam database, apalagi jika operasi tersebut memerlukan fungsi Join.
Kali ini MID Teknologi akan membahas lebih dalam mengenai relasi di dalam database, jadi simak baik baik
Apa itu Relasi Database?
Relasi database adalah sebuah hubungan antar objek dalam suatu database, objek sendiri biasanya berupa suatu row data dalam suatu tabel di dalam database.
Hubungan ini biasanya mewakili antara objek induk dengan objek anaknya.
untuk menghubungkan kedua objek tersebut, kita memerlukan key yang saling terhubung.
untuk objek induk, key ini dinamakan primary key, sedangkan untuk object anak key ini dinamakan foreign key.
misalnya begini, anggaplah object tersebut adalah hubungan antara guru dengan siswa.
maka guru memiliki primary_key berupa teacher_id
sedangkan siswa memiliki foreign_key teacher_id.
Teacher_ID | Name | Kelas |
Teacher_001 | Budi Susanto | IPA XII-A |
Teacher_002 | Angga Jatmiko | IPS XII-C |
Teacher_003 | Surya Bagus | RPL XII-D |
Student_ID | Name | Teacher_ID |
Student_001 | Budi | Teacher_001 |
Student_002 | Susi | Teacher_003 |
dari tabel diatas dapat diketahui bahwa untuk menghubungkan 2 tabel kita memerlukan setidaknya 1 column yang sama diantara 2 tabel tersebut. sama disini dalam artian ada sebuah data yang dapat mewakilkan hubungan kedua tabel tersebut.
sehingga, bila kita mengubah nama dari column teacher_ID pada tabel student dengan nama lain, kita tetap bisa menghubungkan kedua tabel tersebut.
perlu diingat bahwa relasi database biasanya digunakan pada Database Relational (RDBMS) untuk melakukan join 2 buah tabel.
Selengkapnya baca : Pengertian RDBMS Beserta Contoh dan Kelebihan & Kekurangnya
3 Jenis Relasi Database
dikutip dari IBM, relasi dari sebuah database bisa dikelompokan menjadi 3 jenis, yaitu
- Relasi One-to-One
- Relasi One-to-Many
- Relasi Many-to-Many
Untuk mempermudah penjelasan saya akan menggunakan studi kasus desain database dibawah

sedikit penjelasan, gambar diatas adalah desain database, atau biasa disebut ERD. dimana customer bisa membuat order, order berisi beberapa menu dan setiap menu bisa memiliki quantity yang berbeda.
sedangkan setiap menu juga memiliki banyak kategori.
Selengkapnya baca : pengertian ERD simbol,notasi dan cara membuat
Relasi One-to-One
Relasi One to One adalah jenis relasi yang bisa kita gunakan untuk menghubungkan table dengan table lainnya yang memiliki 1 record.
contohnya koneksi antara tabel customer dengan tabel customer_detail. keduanya memiliki 1 record di masing masing tabel.

sehingga masing-masing tabel hanya memiliki 1 record yang saling terhubung, dalam kasus ini 1 customer hanya memiliki 1 customer detail.
sehingga isi dari database customer dan customer detail akan seperti berikut
Customer_ID | Name |
001 | Anggi |
002 | Surya |
Customer_Detail_ID | Customer_ID | Adrress | Postal_Code | Phone_Number |
0014 | 001 | JL.A | 15155 | +62_XXXX_XXX |
0023 | 002 | JL.B | 15156 | +62_XXXX_XXX |
Relasi One-to-Many
Relasi One to Many digunakan untuk menghubungkan 2 buah tabel dimana tabel pertama memiliki 1 record sedangkan tabel kedua memiliki banyak record.
Contoh koneksi One-to-Many pada desain customer order ada pada hubungan customer->order dimana satu customer bisa mengorder lebih dari satu kali,
lalu hubungan antara order->order_log dan hubungan antara menus->order_log
disini kita ambil contoh hubungan antara customer dengan order

karena customer bisa memiliki lebih dari 1 orders maka isi databasenya akan seperti berikut
Customer_ID | Customer_Name |
001 | Anggi |
002 | Surya |
Order_ID | Customer_ID | Order_Date | Total_Price |
I-001 | 001 | 19-02-2022 | 125000 |
I-002 | 002 | 19-02-2022 | 300000 |
I-003 | 001 | 20-02-2022 | 100000 |
Relasi Many-to-Many
Relasi Many to Many digunakan untuk menggabungkan 2 buah tabel dimana kedua tabel sama sama memiliki lebih dari satu record yang dapat terhubung
biasanya relasi jenis ini memerlukan 1 tabel pendukung diantara tabel yang ingin dibuat relasi.
contohnya adalah pada hubungan relasi antara tabel Menus dan Categories dimana satu menu bisa memiliki banyak category dan satu category bisa dimiliki oleh banyak menu.

untuk menghubungkan kedua tabel tersebut kita memerlukan 1 tabel pendukung, dalam kasus ini saya menggunakan tabel Categories Menu untuk mempermudah ketika kita mau melakukan join.
sehingga data di dalam database akan seperti berikut:
Menu_ID | Name | Price |
M-001 | Nasi Goreng | 13000 |
M-002 | Spageti | 25000 |
M-003 | Mie Tek-tek | 14000 |
Category_ID | Name |
C-001 | Western |
C-002 | Indonesia |
C-003 | Mie |
C-004 | Nasi |
Category_ID | Menu_ID |
C-002 | M-001 |
C-004 | M-001 |
C-001 | M-002 |
C-002 | M-003 |
C-003 | M-003 |
dalam beberapa kasus kita bisa memasukan data tambahan lain di dalam table pendukung, misalnya jika kita memiliki kasus dimana murid memiliki banyak pelajaran dan pelajaran bisa dimiliki oleh banyak murid.
maka dalam kasus tersebut kita bisa menyertakan kolum nilai di dalam tabel penghubung pelajaran dan siswa sehingga setiap siswa memiliki nilai pelajaran yang berbeda beda
penggunaan relasi semacam ini sesuai dengan normalisasi database, namun dalam beberapa kasus ada engineer yang menggunakan sistem relasi Many to Many yang tidak sesuai prinsi relational, yaitu dengan cara menaruh array tabel a di dalam tabel b sehingga tidak diperlukan data pendukung.
contohnya dalam kasus categories menu, engineer dapat menaruh semua id categories yang diperlukan di dalam column categories_id di tabel menu, sehingga data di dalam tabel menu akan terlihat seperti dibawah.
Menu_ID | Name | Price | Categories_ID |
M-001 | Nasi Goreng | 13000 | C-002,C-004 |
M-002 | Spageti | 25000 | C-001 |
M-003 | Mie Tek-tek | 14000 | C-002,C-003 |
nantinya user tinggal menjalankan perintah where in ketika memerlukan data category di dalam database.
namun perlu diingat bahwa cara ini tidak disarankan.
Baca Juga : Apa Itu DBMS, Pengertian, Tujuan, Jenis dan Bahasa
sumber: IBM
itulah yang dapat MID Teknologi sampaikan mengenai Mengenal 3 Jenis Relasi Database Beserta Contoh Kasusnya, semoga bermanfaat.

Adinata is a tech expert and content creator experience more than 5 years on networking, coding and managed cloud vps server