Apa itu relation pada ERD, Mengapa many-to-many tidak baik digunakan pada ERD?
Relasi adalah keterkaitan atau koneksi antara dua atau lebih entitas dalam sebuah database. Relasi direpresentasikan oleh garis. Terdapat tiga jenis relasi yang digunakan dalam ERD, diantaranya adalah sebagai berikut:
- One to One (1:1) Yang berarti, setiap entitas hanya boleh memiliki relasi dengan satu entitas yang lain. Contohnya adalah mahasiswa dengan program_studi. Seorang mahasiswa hanya dapat satu kode_prodi saja.
- One to Many (1:M) Merupakan hubungan antara satu entitas dengan beberapa entitas, dan begitu pula sebaliknya. Contoh implementasinya adalah data terkait dosen dengan mahasiswa. Seorang dosen dapat mengajar banyak mahasiswa.
- Many to Many (M:M) Merupakan hubungan antara beberapa entitas yang memiliki lebih dari satu relasi. Contoh hubungan many-to-many yang umum digunakan dalam ERD adalah antara entitas mahasiswa dan matakuliah. Dalam hubungan ini, satu mahasiswa dapat mengambil banyak matakuliah, dan satu matakuliah dapat diambil oleh banyak mahasiswa.
Namun, hubungan many-to-many pada ERD tidak baik digunakan secara langsung karena sistem basis data relasional tidak bisa memodelkan hubungan ini secara langsung. Hal ini dikarenakan satu entitas di satu himpunan bisa berhubungan dengan banyak entitas di himpunan lain, dan sebaliknya, sehingga jika langsung diterapkan tanpa tabel penghubung akan menyebabkan kesulitan dalam penyimpanan dan pengelolaan data, yang dapat membuat data menjadi tidak konsisten dan sulit di-query. Oleh karena itu, untuk mengatasi masalah tersebut, hubungan many-to-many harus dipecah menjadi dua hubungan one-to-many dengan menambahkan tabel baru sebagai jembatan yang menyimpan foreign key dari kedua entitas yang berelasi, seperti pada contoh mahasiswa dan matakuliah yang dihubungkan dengan tabel mahasiswa_matakuliah.

.png)
Komentar
Posting Komentar