DBMS - Representasi Diagram ER
Halo, para desainer database yang bersemangat! Hari ini, kita akan mandulkan diri kita ke dunia yang menakjubkan Diagram Entity-Relationship (ER). Sebagai guru ilmu komputer di lingkungan yang ramah, saya di sini untuk mengorbit Anda melalui konsep esensial ini dalam desain database. Jangan khawatir jika Anda belum pernah memrogram sebelumnya – kita akan mulai dari dasar dan naik tingkat per tingkat. Jadi, ambil secangkir kopi (atau teh, jika itu hal yang Anda sukai), dan mari kita mulai!
Entity
Apa Itu Entity?
Entity adalah hal yang mirip dengan "objek" atau "macam hal" di dunia nyata yang kita ingin menyimpan informasi tentang dalam database kita. Pensejukkan hal ini seperti kata benda dalam kalimat. Misalnya, dalam database sekolah, kita mungkin memiliki entity seperti "Student," "Teacher," atau "Course."
Bagaimana Menyajikan Entity dalam Diagram ER
Dalam diagram ER, kita menyajikan entity sebagai kotak persegi panjang dengan nama entity di dalamnya. Itu saja!
+---------+
| Student |
+---------+
Dalam contoh ini, "Student" adalah entity kita. Mudah-mudahan, kan?
Entity Kuat vs. Entity Lemah
Sekarang, mari kita tambahkan sedikit perasaan. Kita memiliki dua jenis entity:
- Entity Kuat: Ini adalah entity yang dapat ada sendiri. Itu seperti superhero yang tidak memerlukan rekan.
- Entity Lemah: Entity ini bergantung pada entity lain untuk ada. Itu lebih seperti Robin kepada Batman.
Dalam diagram ER, kita menyajikan entity lemah dengan kotak ganda:
+===========+
| Address |
+===========+
Di sini, "Address" mungkin adalah entity lemah karena itu bergantung pada entity "Student" atau "Teacher" untuk ada.
Atribut
Apa Itu Atribut?
Atribut adalah karakteristik atau properti dari entity. Jika entity adalah kata benda, berpikirkan atribut sebagai adjektif yang menggambarkan itu. Untuk entity "Student" kita, atribut mungkin termasuk "Name," "Age," "Student ID," dll.
Jenis Atribut
Mari kitaura jenis-jenis atribut yang berbeda:
Tipe Atribut | Deskripsi | Representasi |
---|---|---|
Simple | Sebuah nilai tunggal, tak terbagi | Oval terhubung ke entity |
Composite | Dapat dibagi menjadi subbagian yang lebih kecil | Oval dengan ovals terhubung |
Multi-valued | Dapat memiliki nilai ganda | Oval ganda |
Derived | Nilai yang dihitung dari atribut lain | Oval bergaris putus |
Key | Mengidentifikasi secara unik instance entity | Oval yang ditarik |
Menyajikan Atribut dalam Diagram ER
Mari kita lihat bagaimana ini terlihat dalam diagram ER:
(Name)
|
(Age)
|
+--------+ (StudentID)
|Student |------(Address)
+--------+ |
((Phone Numbers))
|
/(GPA)\
Dalam diagram ini:
- "Name," "Age," dan "Address" adalah atribut sederhana
- "StudentID" adalah atribut kunci (perhatikan garis bawah)
- "Phone Numbers" adalah multi-valued (perhatikan oval ganda)
- "GPA" adalah atribut turunan (perhatikan oval bergaris putus)
Hubungan
Apa Itu Hubungan?
Hubungan adalah koneksi antara dua atau lebih entity. Itu seperti kata kerja dalam kalimat, menggambarkan bagaimana entity berinteraksi satu sama lain. Misalnya, seorang Student "mendaftar" dalam Course.
Menyajikan Hubungan dalam Diagram ER
Kita menyajikan hubungan sebagai bentuk diamond dalam diagram ER, terhubung ke entity yang terkait dengan garis.
+---------+ +-----------+
| Student |--------| Enrolls |-------- | Course |
+---------+ +-----------+ +--------+
Kardinalitas dalam Hubungan
Kardinalitas memberitahu kita berapa banyak instance entity dapat diasosiasikan dengan entity lain dalam hubungan. Itu seperti multiplicity dalam UML, jika Anda familiar dengan itu.
Kita memiliki beberapa jenis kardinalitas:
- Satu ke Satu (1:1)
- Satu ke Banyak (1:N)
- Banyak ke Satu (N:1)
- Banyak ke Banyak (M:N)
Mari kita lihat bagaimana kita menyajikan ini:
// Satu ke Satu
+---------+ +-----------+ +---------+
| Student |--------| Has |--------| Address |
+---------+ +-----------+ +---------+
| |
1 1
// Satu ke Banyak
+---------+ +-----------+ +---------+
| Teacher |--------| Teaches |--------| Course |
+---------+ +-----------+ +---------+
| |
1 N
// Banyak ke Banyak
+---------+ +-----------+ +---------+
| Student |--------| Enrolls |--------| Course |
+---------+ +-----------+ +---------+
| |
M N
Batasan Partisipasi
Batasan partisipasi memberitahu kita apakah semua instance entity harus ikut serta dalam hubungan. Kita memiliki dua jenis:
- Partisipasi Total: Semua instance harus ikut serta (diwakili oleh garis ganda)
- Partisipasi Sebagian: Beberapa instance mungkin tidak ikut serta (diwakili oleh garis tunggal)
Ini adalah contoh:
+---------+ +-----------+ +---------+
| Student |========| Enrolls |--------| Course |
+---------+ +-----------+ +---------+
Dalam diagram ini, garis ganda menunjukkan bahwa semua siswa harus mendaftar dalam course (partisipasi total), sedangkan garis tunggal menunjukkan bahwa tidak semua course harus memiliki siswa mendaftar (partisipasi sebagian).
Dan itu adalah dia, teman-teman! Kita telah melihat dasar-dasar representasi Diagram ER. Ingat, latihan membuat sempurna. Cobalah membuat diagram ER untuk sistem yang Anda kenal – mungkin sistem perpustakaan sekolah Anda atau layanan pengiriman pizza lokal. Semakin Anda latih, semakin menjadi hal yang alami.
Sementara kita menyusun, saya teringat cerita lucu dari hari-hari mengajar awal saya. Saya pernah punya siswa yang menggambar seluruh diagram ER nya menggunakan emoji instead of shapes. Meskipun kreatif, itu tidak sepenuhnya notasi standar – tetapi itu membuat pengalaman penilaian yang tak terlupakan!
Terus menjelajahi, terus bertanya, dan terutama, bersenang-senang dengan desain database. Sampai jumpa lagi, selamat menggambar diagram!
Credits: Image by storyset