Langsung ke konten utama

Pengertian Relation serta hubungannya terhadap ERD

Apa itu relation pada ERD, Mengapa many-to-many tidak baik digunakan pada ERD?




Pengertian Relationship

ERD atau Entity Relationship Diagram adalah alat visual yang digunakan untuk memodelkan hubungan antar entitas dalam database.
Dalam ERD, “relatation” mengacu pada koneksi atau hubungan antara dua entitas atau lebih.

Ada beberapa tipe relasi yang bisa ada di ERD:

  1. One-to-One (1:1): Satu entitas dari satu jenis terkait dengan tepat satu entitas dari jenis lain. Contohnya, setiap orang memiliki satu nomor paspor, dan setiap nomor paspor hanya dapat terkait dengan satu orang.
  2. One-to-Many (1:N): Entitas bertipe satu dikaitkan dengan entitas bertipe lain. Misalnya, seorang guru dapat mengajar banyak siswa tetapi setiap siswa hanya dapat diajar oleh satu guru. 
  3. Many-to-One (N:1): Beberapa entitas dari satu tipe terkait dengan  entitas tipe lain. Misalnya banyak siswa bisa berasal dari satu sekolah namun setiap siswa hanya bisa berasal dari satu sekolah.
  4. Many-to-Many (N:N):Beberapa entitas dari satu jenis dikaitkan dengan beberapa entitas dari jenis lain. Misalnya, banyak siswa dapat mendaftar untuk banyak kursus dan sebaliknya, suatu kursus dapat diikuti oleh banyak siswa.

Mengapa many-to-many tidak baik digunakan pada ERD

Hubungan Many-to-Many, sulit diterapkan secara langsung dalam struktur tabel relasional. Biasanya, untuk menangani hubungan N:N diperlukan tabel perantara atau entitas lemah. Tabel ini berisi Foreign key dari dua entitas terkait.

Misalnya, jika ada hubungan Many-to-Many antara siswa dan mata kuliah maka diperlukan tabel tambahan yang menghubungkannya, misalnya, "Pendaftaran" dapat berisi kolom StudentID dan CourseID. Di sinilah informasi tambahan dapat dimasukkan, seperti skor atau tanggal pendaftaran.

Kerugian Many-to-Many, Many-to-Many memiliki kelemahan desain yang kompleks dan cenderung menimbulkan kebingungan ketika diterjemahkan ke dalam struktur database. Oleh karena itu, lebih masuk akal dalam praktiknya untuk membagi hubungan Many-to-Many menjadi dua hubungan One-to-Many dengan menggunakan tabel perantara.

Misalnya, dalam kasus Siswa dan Kursus, yang terbaik adalah membagi hubungan menjadi dua hubungan One-to-Many yang melibatkan tabel "Pendaftaran" atau entitas perantara.

Saat mendesain Database, pikirkan baik-baik tentang tipe hubungan dan bagaimana Anda dapat mengimplementasikannya secara efisien dan mudah dipahami.


UBP Karawang
Adirp.id

Komentar