Mengenal 3 Jenis Relasi Database Beserta Contoh Kasusnya

relasi-database

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_IDNameKelas
Teacher_001Budi SusantoIPA XII-A
Teacher_002Angga JatmikoIPS XII-C
Teacher_003Surya BagusRPL XII-D
tabel guru
Student_IDNameTeacher_ID
Student_001BudiTeacher_001
Student_002SusiTeacher_003
tabel siswa

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

apa itu relasi database
desain database customer order

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.

relasi database One-to-One

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
001Anggi
002Surya
Table customer
Customer_Detail_IDCustomer_IDAdrressPostal_CodePhone_Number
0014001JL.A15155+62_XXXX_XXX
0023002JL.B15156+62_XXXX_XXX
Table customer detail

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

relasi tabel One-to-Many

karena customer bisa memiliki lebih dari 1 orders maka isi databasenya akan seperti berikut

Customer_IDCustomer_Name
001Anggi
002Surya
Table Customers
Order_IDCustomer_IDOrder_DateTotal_Price
I-00100119-02-2022125000
I-00200219-02-2022300000
I-00300120-02-2022100000
Table Orders

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.

relasi Many-to-Many

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_IDNamePrice
M-001Nasi Goreng13000
M-002Spageti25000
M-003Mie Tek-tek14000
Table Menus
Category_IDName
C-001Western
C-002Indonesia
C-003Mie
C-004Nasi
Table Categories
Category_IDMenu_ID
C-002M-001
C-004M-001
C-001M-002
C-002M-003
C-003M-003
Table Categories_Menu

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_IDNamePriceCategories_ID
M-001Nasi Goreng13000C-002,C-004
M-002Spageti25000C-001
M-003Mie Tek-tek14000C-002,C-003
Tabel Menu Tidak Normal

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.

Disclosure: I may receive affiliate compensation for some of the links below at no cost to you if you decide to purchase a paid plan. This site is not intending to provide financial advice. This is for entertainment only.

Leave a Reply

Your email address will not be published. Required fields are marked *

eight − five =

Promo Indihome JITU Diskon Hingga 70%
Daftar Sekarang
Promo Indihome JITU
Diskon Hingga 70%
Daftar Sekarang