Hubungan Antar Entitas
Terdapat dua hubungan utama dalam ERD ini:
Hubungan Mengajar
- Hubungan mengajar menghubungkan entitas dosen dengan entitas mata_kuliah.
- Dalam konteks ini, hubungan mengajar menunjukkan bahwa seorang dosen dapat mengajar satu atau lebih mata kuliah, dan setiap mata kuliah dapat diajarkan oleh satu atau lebih dosen.
- Hubungan ini bersifat many-to-many (banyak ke banyak), yang berarti ada banyak dosen yang mengajar berbagai mata kuliah, dan setiap mata kuliah dapat diajarkan oleh beberapa dosen.
Hubungan Merigestrasi (Meregistrasi)
- Hubungan meregistrasi menghubungkan entitas mahasiswa dengan entitas mata_kuliah.
- Hubungan ini menunjukkan bahwa seorang mahasiswa dapat meregistrasi atau mendaftar ke satu atau lebih mata kuliah, dan setiap mata kuliah dapat diambil oleh beberapa mahasiswa.
- Sama seperti hubungan mengajar, hubungan ini juga bersifat many-to-many, karena mahasiswa dapat mendaftar ke banyak mata kuliah, dan mata kuliah dapat diambil oleh banyak mahasiswa.
Selanjutnya, setelah ERD selesai, kita merancang EERD (Extended Entity Relationship Diagram) sebagai desain tabel yang sudah mencakup tipe data untuk setiap atribut, termasuk kunci di tiap tabel.Â
1. Tabel Dosen - Menyimpan informasi dosen, termasuk atribut `nidn` (Nomor Induk Dosen Nasional) dan `nama_dosen`. Tabel ini digunakan untuk menyimpan data unik dari setiap dosen.
2. Tabel Mata Kuliah - Menyimpan data mata kuliah, yang terdiri dari `kode_mk` (kode mata kuliah), `nama_mk` (nama mata kuliah), `sks` (jumlah SKS), dan `dosen_nidn` (referensi ke dosen pengampu). Atribut `dosen_nidn` di sini merupakan foreign key yang menghubungkan setiap mata kuliah dengan dosen yang mengajar mata kuliah tersebut.
3. Tabel Mahasiswa - Berisi data mahasiswa seperti `nim` (Nomor Induk Mahasiswa) dan `nama_mahasiswa`. Tabel ini menyimpan data pribadi dari setiap mahasiswa yang terdaftar.
4. Tabel Mata_Kuliah_Has_Mahasiswa - Mencatat hubungan many-to-many antara tabel `mata_kuliah` dan `mahasiswa`. Tabel ini menyimpan data mahasiswa yang mengambil mata kuliah tertentu, menggunakan tiga atribut utama: `mata_kuliah_kode_mk` (referensi ke kode mata kuliah), `mata_kuliah_dosen_nidn` (referensi ke dosen pengampu mata kuliah), dan `mahasiswa_nim` (referensi ke NIM mahasiswa). Setiap baris pada tabel ini mencatat satu entri hubungan antara mahasiswa tertentu dan mata kuliah tertentu.
Tabel `mata_kuliah_has_mahasiswa` dibentuk sebagai solusi implementasi untuk menangani relasi many-to-many antara entitas Mahasiswa dan Mata Kuliah.