Apakah Relationship M:N Selalu Memiliki Atribut?

Contoh kasus: perpustakaan

M. Ramadhan
Telematika
3 min readApr 18, 2020

--

Daftar Isi

Pendahuluan
ERD Perpustakaan
Relationship ‘menulis’
Relationship ‘meminjam’
Pemetaan Diagram ER ke Relasi
Kesimpulan
Daftar Pustaka

Pendahuluan

Atribut tidak saja dimiliki oleh entitas tetapi adakalanya juga dimiliki oleh relationship. Pada tulisan sebelumnya, telah dibahas bahwa Relationship 1:N tidak selalu memiliki atribut. Relationship 1:N memiliki atribut bila ada kegiatan (transaksi) yang ditimbulkan dan perlu disimpan datanya.

ERD Perpustakaan

Lain halnya dengan relationship banyak-ke-banyak. Walaupun tidak ada kegiatan yang ditimbulkan, relationship M:N selalu memiliki atribut. Berikut akan dibahas contoh kasus perpustakaan yang hanya memiliki satu buku untuk setiap ISBN (International Standard Book Number). Diagram entity relationship-nya adalah sebagai berikut.

Gambar 1 ERD perpustakaan

Relationship ‘menulis’

Seorang penulis boleh jadi menulis banyak buku. Sebaliknya sebuah buku boleh jadi ditulis oleh beberapa orang penulis. Dengan demikian, kardinalitasnya M:N (banyak-ke-banyak). Pada relationship menulis sekurang-kurangnya muncul atribut forein key yang diambil dari primary key entitas yang terhubung. Foreign key pertama, IdPenulis,menunjukkan siapa yang menulis buku tersebut; foreign key kedua, ISBN, menunjukkan buku apa yang ditulis. Biasanya masih ada tambahan atribut lain. Dalam kasus ini, ditambahkan atribut NoUrut yang menunjukkan urutan penulis buku tersebut.
Bagaimana primary key-nya? Atribut IdPenulis tidak dapat dijadikan sebagai primary key karena nilainya tidak unik; IdPenulis yang sama akan muncul berkali-kali bila penulisnya menulis banyak buku. Begitu pula atribut ISBN tidak dapat dijadikan sebagai primary key karena nilai ISBN yang sama akan muncul berkali-kali bila buku itu ditulis oleh banyak penulis. Nilai unik diperoleh bila kedua atribut digabung menjadi primary key komposit.

Relationship ‘meminjam’

Seorang anggota dimungkinkan meminjam beberapa buku. Sebaliknya sebuah buku boleh jadi dipinjam oleh beberapa orang anggota. Dengan demikian, kardinalitasnya M:N (banyak-ke-banyak). Pada relationship meminjam sekurang-kurangnya muncul atribut forein key yang diambil dari primary key entitas yang terhubung. Foreign key pertama, NoAnggota, menunjukkan siapa yang meminjam buku; foreign key kedua, ISBN, menunjukkan buku apa yang dipinjam. Tentu muncul pertanyaan, kapan buku tersebut dipinjam dan kapan buku itu dikembalikan. Oleh karena itu, muncul atribut TglPinjam dan TglKembali.
Sama seperti pada relationship ‘menulis’, primary key relationship ‘meminjam’ juga komposit. Gabungan atribut NoAnggota dan ISBN tidak cukup memenuhi syarat sebagai primary key. Seorang anggota boleh jadi meminjam buku yang sama berkali-kali sehingga nilai gabungan kedua atribut tidak unik. Oleh karena itu, perlu ditambahkan atribut ketiga, TglPinjam, sehingga primary key-nya komposit yang merupakan gabungan tiga atribut, NoAnggota + ISBN + TglPinjam.

Pemetaan Diagram ER ke Relasi

Pemetaan diagram entity relationship di atas menghasilkan lima relasi berikut:

Gambar 2 Hasil pemetaan ERD perpistakaan

Kesimpulan

Relationship M: N selalu memiliki atribut, meskipun tidak ada transaksi dalam hubungan tersebut. Setidaknya, primary key entitas terhubung muncul dalam relationship sebagai foreign key. Biasanya ada atribut tambahan lainnya.

Daftar Pustaka

--

--

M. Ramadhan
Telematika

I’m a database designer and developer, childhood in Menggala, living in Palembang.