Dalam kursus Pengantar PHP kami, siswa membuat situs web puisi. Untuk manualnya, saya perlu membuat diagram ER untuk database MySQL di Mac. Saya menemukan opsi berikut, keduanya gratis
Model Entity-Relationship atau model ER digunakan untuk membuat hubungan antara atribut atau entitas yang berbeda. Ini menggambarkan struktur database dengan bantuan Diagram ER atau Diagram Hubungan Entitas. Model ER membuat tampilan desain sederhana dari data. Ini membantu dalam membuat diagram konseptual dari database yang membuat data lebih mudah dipahami
Sebagai contoh. Di sini, kami memiliki database PERUSAHAAN, dan dalam database ini, EMPLOYEE adalah entitas (tabel). Entitas karyawan berisi beberapa atribut seperti EMP_ID, EMP_NAME, EMP_ADDRESS, EMP_DATE_OF_BIRTH, EMP_AGE, dan EMP_CONTACT. Dalam atribut ini, EMP_NAME dapat berfungsi sebagai entitas lain yang memiliki atribut seperti FIRST_NAME, MIDDLE_NAME, dan LAST_NAME. Sekali lagi, atribut lain EMP_ADDRESS dalam tabel EMPLOYEE dapat berfungsi sebagai entitas lain dengan atribut seperti EMP_CITY, EMP_HOUSE_NO, EMP_PIN, dll.
Model ER berisi komponen penting berikut
- Kesatuan
- Kumpulan Entitas
- Atribut
- Hubungan
Kesatuan
Entitas dalam DBMS dapat berupa objek dunia nyata yang memiliki realitas dan keberadaan konseptual
Sebagai contoh. Di atas, kami memiliki database COMPANY, dan tipe entitasnya adalah EMPLOYEE. Di sini karyawan adalah orang dunia alami yang memiliki eksistensi
Entitas dapat dibagi lagi menjadi beberapa jenis
- Entitas yang kuat
- Entitas yang lemah
- Entitas berwujud
- Entitas tak berwujud
Entitas yang kuat
Entitas yang kuat adalah entitas yang tidak bergantung pada entitas lain. Entitas yang kuat terutama berisi kunci utama. Sebuah kotak persegi panjang mewakili entitas yang kuat
Sebagai contoh. Pada contoh sebelumnya, kami memiliki entitas EMPLOYEE yang memiliki EMP_ID sebagai kunci utama. Oleh karena itu, ini disebut sebagai entitas yang kuat
Entitas yang lemah
Entitas yang lemah tidak mengandung kunci utama dalam tabel. Mereka terutama bergantung pada entitas induk untuk data. Kotak persegi panjang ganda melambangkannya
Sebagai contoh. Misalkan kita memiliki entitas EMPLOYEE_ADDRESS yang memiliki atribut EMP_CITY, EMP_HOUSE_NO, dan EMP_PIN. Di sini kita melihat bahwa kunci primer tidak tersedia, dan EMPLOYEE_ADDRESS (entitas) bergantung pada EMPLOYEE (entitas) untuk data
Entitas berwujud
Entitas berwujud adalah entitas yang memiliki keberadaan fisik. Entitas ini ada di dunia nyata
Misalnya, Orang, Meja, Kursi, dll
Entitas tidak berwujud
Entitas tidak berwujud adalah entitas yang tidak memiliki keberadaan fisik. Tidak ada keberadaan entitas tak berwujud di dunia nyata
Misalnya, Rekening Bank
Kumpulan Entitas
Kumpulan entitas adalah kumpulan lebih dari satu entitas dari jenis entitas yang serupa. Tipe entitas dapat berupa data atau nilai yang diberikan ke data
Misalnya, kita memiliki tabel STUDENT(entity type) dengan atribut ID, NAME, dan AGE. Kemudian, data yang diberikan ke tabel ini bisa menjadi kumpulan entitas. Mari kita beri nama tabel sebagai STUDENT
Di sini, SISWA adalah tipe entitas, dan (01, Sumit, 23), (02, Ajay 26), dan (03, Amit, 32) adalah kumpulan entitas
Atribut
Atribut menunjukkan properti dan karakteristik dari suatu entitas. Ada beberapa atribut entitas, bergantung pada kemungkinannya. Salah satu atribut dianggap sebagai kunci primer, kunci kandidat, dll
Atribut diwakili oleh bentuk elips
Contoh
Atribut ini dapat dibagi menjadi beberapa jenis, seperti
- Atribut sederhana
- Atribut komposit
- Atribut bernilai tunggal
- Atribut multi-nilai
- Atribut turunan
Atribut sederhana
Atribut sederhana tidak dapat dibagi lagi menjadi subtipenya. Dengan kata lain, itu tidak dapat dibagi lagi menjadi satu atau lebih atribut. Ini juga berisi nilai null
Misalnya, Atribut seperti ID dan ROLL_NO dalam tabel STUDENT (tipe entitas) adalah contoh atribut sederhana karena atribut ini tidak dapat dibagi lagi menjadi subtipe
Atribut Komposit
Atribut komposit adalah atribut yang dapat dibagi lagi menjadi subbagian yang bermakna. Dengan kata lain, atribut ini dapat dibagi lagi menjadi lebih dari satu sub-atribut
Misalnya, pada tabel SISWA, atribut seperti NAMA dan ALAMAT dapat dibagi lagi menjadi sub-atribut. Nama yang mirip dapat dibagi menjadi FIRST_NAME, MIDDLE_NAME, dan LAST_NAME. ADDRESS juga dapat dibagi menjadi CITY, HOUSE_NO, dan PIN
Atribut bernilai tunggal
Atribut nilai tunggal hanya dapat memiliki satu atribut. Atribut nilai tunggal belum tentu atribut sederhana
Sebagai contoh. AGE dalam entitas SISWA dapat menjadi atribut bernilai tunggal karena usia untuk setiap orang akan memiliki nilai tunggal. Tidak mungkin memiliki dua usia untuk satu orang. Setiap orang hanya akan memiliki satu usia
Atribut multi-nilai
Atribut multi-nilai adalah atribut yang berisi lebih dari satu nilai pada satu waktu. Ini bisa menjadi atribut gabungan
Misalnya atribut ADDRESS pada tabel STUDENT. Alamat dapat menyimpan atribut seperti kota, kode pin, dll. Atribut NAME dalam tabel STUDENT juga bisa berupa atribut multi-nilai
Atribut turunan
Atribut turunan adalah atribut yang tidak ada di database fisik. Nilainya diturunkan dari atribut lain, atau kita dapat mengatakan bahwa itu bergantung pada atribut database lain untuk data tersebut
Sebagai contoh. Misalkan kita memiliki SEKOLAH tabel. Dalam tabel ini, kita dapat mengatakan bahwa atribut AGE dapat diturunkan atributnya karena dapat diturunkan dari atribut DATE OF BIRTH dari tabel
Hubungan
Relasi menunjukkan hubungan antar entitas yang berbeda. Ini menunjukkan bagaimana dua atau lebih entitas terkait satu sama lain. Itu diwakili oleh bentuk berlian di diagram ER
Ada empat jenis hubungan
- Satu ke satu
- Satu ke banyak
- Banyak ke satu
- Banyak ke banyak
Satu ke satu
Di sini, satu entitas terkait dengan satu entitas lain yang dikenal sebagai satu hubungan
Misalnya, seseorang hanya boleh memiliki satu kartu pemilih, sehingga hubungan di antara mereka menjadi satu lawan satu saja
Satu ke banyak
Ketika suatu entitas berelasi dengan lebih dari satu entitas, maka relasi ini dikenal sebagai relasi satu ke banyak
Misalnya, hubungan antara pelanggan dan pesanan. Di sini pelanggan dapat melakukan banyak pesanan, tetapi banyak pelanggan tidak dapat melakukan pemesanan
Banyak ke satu
Ketika lebih dari satu entitas terkait dengan satu entitas, ini disebut hubungan banyak ke satu
Misalnya hubungan siswa dengan sekolah, banyak siswa yang belajar di satu sekolah, tetapi sebaliknya tidak mungkin
Banyak ke banyak
Ketika lebih dari satu entitas terkait dengan lebih dari satu entitas, ini disebut hubungan banyak ke banyak
Misalnya, hubungan antara siswa dan mata pelajaran akan menjadi contoh terbaik karena banyak siswa membaca banyak mata pelajaran dan sebaliknya