Apa itu Relation pada ERD?

Relation atau hubungan dalam ERD adalah keterkaitan antara satu atau lebih entitas.  ERD sendiri adalah diagram yang menunjukan hubungan antar bagian dari suatu basis data, terdiri dari tiga komponen utama: Entitas, Atribut, dan Hubungan.

Dalam ERD, entitas merepresentasikan objek atau konsep dalam dunia nyata yang dapat dibedakan dari objek atau konsep lainnya. Atribut merepresentasikan karakteristik dari suatu entitas, seperti nama, alamat, atau tanggal lahir. Hubungan merepresentasikan keterkaitan antara satu atau lebih entitas dalam basis data.

Contoh sederhana dari ERD adalah diagram yang menunjukkan hubungan antara pelanggan dan pesanan dalam suatu toko online. Dalam diagram tersebut, pelanggan dan pesanan masing-masing direpresentasikan sebagai entitas. Pelanggan memiliki atribut seperti nama dan alamat email, sedangkan pesanan memiliki atribut seperti tanggal pembelian dan jumlah total. Hubungan antara pelanggan dan pesanan direpresentasikan sebagai relasi “satu ke banyak”, karena satu pelanggan dapat memiliki banyak pesanan.

Mengapa many-to-many tidak baik digunakan untuk ERD?

Model relasi many-to-many pada Entity Relationship Diagram (ERD) sebenarnya bisa digunakan, tetapi terdapat beberapa kendala dan kompleksitas yang mungkin membuatnya sulit untuk diimplementasikan dalam basis data. Beberapa alasan mengapa many-to-many kurang disukai dalam ERD adalah sebagai berikut:

1.  Kesulitan Implementasi: Many-to-many relationships dalam basis data tradisional memerlukan penggunaan tabel pivot atau tabel perantara untuk mengatasi hubungan ini. Hal ini dapat meningkatkan kompleksitas struktur database dan logika query.

2.    Kesulitan dalam Melakukan Validasi: Validasi data dapat menjadi lebih sulit dalam relasi many-to-many. Memastikan bahwa data yang dimasukkan sesuai dengan aturan bisnis bisa menjadi tugas yang rumit.

3.  Kesulitan Memahami: Many-to-many relationships bisa menjadi sulit untuk dipahami, terutama ketika ERD menjadi sangat kompleks. Ini dapat mengaburkan pemahaman tentang bagaimana entitas terkait satu sama lain.

4.  Kejelasan Model: Model many-to-many dapat membingungkan bagi orang yang tidak terbiasa dengan struktur tersebut. Ini dapat mengakibatkan masalah dalam pengembangan dan pemeliharaan sistem, terutama jika ada pergantian personel dalam proyek.

5.    Kinerja: Model many-to-many dapat mempengaruhi kinerja database jika tidak diimplementasikan dengan baik. Hubungan banyak-ke-banyak sering memerlukan banyak bergabung (join) dalam query, yang dapat memperlambat kueri dan menghasilkan kinerja yang buruk.

6.  Pembatasan Sistem Database: Beberapa sistem database mungkin memiliki pembatasan dalam menangani many-to-many relationships. Misalnya, sistem tertentu mungkin tidak mendukung relasi many-to-many secara langsung.

7.  Normalisasi: Many-to-many relationships cenderung memerlukan denormalisasi dalam struktur database untuk mengatasi masalah yang muncul. Hal ini bisa mengakibatkan masalah dalam pengelolaan data dan konsistensi.

Untuk mengatasi beberapa masalah yang terkait dengan many-to-many relationships, seringkali lebih disarankan untuk menggantinya dengan dua relasi one-to-many. Dalam kasus ini, entitas perantara (biasanya disebut sebagai tabel penengah atau junction table) digunakan untuk menghubungkan dua entitas yang memiliki hubungan many-to-many. Ini memisahkan hubungan many-to-many menjadi dua hubungan one-to-many yang lebih mudah diimplementasikan dan dipahami.

Namun, ada situasi di mana many-to-many relationships adalah cara yang tepat untuk merepresentasikan hubungan antara entitas. Pemahaman yang baik tentang struktur database, pengoptimalan query, dan kebutuhan bisnis yang akurat sangat penting dalam memutuskan apakah many-to-many relationship diperlukan atau tidak dalam ERD.


Membuat ERD Sistem Informasi Perpustakaan




Dosen pengampu: Adi Rizky Pratama, M.kom
Tugas 2 : 3 key pada ERD


Dosen pengampuAdi Rizky Pratama, M.kom