Gambar

Relation Pada ERD

Apa itu Relation?

Dalam konteks ERD (Entity-Relationship Diagram), Relation atau relasi adalah hubungan logis yang terjadi antara dua atau lebih entitas. Anggap saja Anda memiliki dua kotak data: Mahasiswa dan Mata Kuliah. Relasi adalah "kata kerja" yang menjelaskan bagaimana kedua kotak ini berinteraksi. Ada beberapa Kardinalitas Relasi yaitu :

  • One-to-One (1:1): Satu data hanya berhubungan dengan satu data lain.
  • One-to-Many (1:N): Satu data bisa berhubungan dengan banyak data lain.
  • Many-to-Many (M:N): Banyak data bisa berhubungan dengan banyak data lain.

Mengapa Many-to-Many Tidak Baik Digunakan?

Meskipun relasi Many-to-Many (M:N) sangat umum dalam konsep dunia nyata (seperti contoh mahasiswa dan mata kuliah di atas), relasi ini dianggap tidak baik untuk diimplementasikan secara langsung ke dalam tabel database fisik. Alasanya :

  • Redundansi dan Data Amibgu: Jika dipaksakan, akan terjadi pengulangan data yang tidak perlu. Misalnya, untuk mencatat mahasiswa A mengambil 3 mata kuliah, Anda harus menulis data mahasiswa A sebanyak 3 kali, yang sangat tidak efisien dan rentan kesalahan.
  • Kesulitan Implementasi Teknis: Sistem database relasional tidak bisa membuat hubungan langsung M:N. Tidak ada cara efisien untuk menghubungkan banyak baris di satu tabel dengan banyak baris di tabel lain tanpa menimbulkan kekacauan.
  • Menurunkan Kinerja Database: Mengelola hubungan yang rumit dan ambigu seperti ini akan membuat proses pencarian data (query) menjadi sangat lambat dan kompleks.
  • Sulit Menyimpan Atribut Relasi: Seringkali, hubungan itu sendiri memiliki data spesifik. Misalnya, kapan seorang mahasiswa mengambil mata kuliah tersebut? Berapa nilainya? Informasi "nilai" ini bukan milik Mahasiswa (karena ia punya banyak nilai) dan bukan juga milik Mata Kuliah (karena banyak mahasiswa yang mengambilnya). Relasi M:N tidak menyediakan "tempat" untuk menyimpan atribut seperti ini.