Diagram hubungan entitas
Diagram Hubungan Entitas atau "entity relationship diagram" merupakan model data berupa notasi grafis dalam pemodelan data konseptual yang menggambarkan hubungan antara penyimpan. Model data sendiri merupakan sekumpulan cara, peralatan untuk mendeskripsikan data-data yang hubungannya satu sama lain, semantiknya, serta batasan konsistensi. Model data terdiri dari model hubungan entitas dan model relasional. Diagram hubungan entitas ditemukan oleh Peter Chen dalam buku "Entity Relational Model-Toward a Unified of Data". Chen mencoba merumuskan dasar-dasar model dan setelah itu dikembangkan dan dimodifikai oleh Chen dan banyak pakar lainnya. Pada saat itu diagram hubungan entitas dibuat sebagai bagian dari perangkat lunak yang juga merupakan modifikasi khusus, karena tidak ada bentuk tunggal dan standar dari diagram hubungan entitas.
Diagram hubungan entitas digunakan untuk mengkonstruksikan model data konseptual, memodelkan struktur data dan hubungan antar data dan mengimplementasikan basis data secara logika maupun secara fisik dengan DBMS ("Database Management system"). Dengan diagram hubungan entitas ini kita dapat menguji model dengan mengabaikan proses yang harus dilakukan. Diagram hubungan entitas dapat membantu dalam menjawab persoalan tentang data yang diperlukan dan bagaimana data tersebut saling berhubungan..
1. Persegi panjang, menyatakan himpunan entitas.
2. Oval, menyatakan atribut (atribut key digaris bawahi).
3. Belah ketupat, menyatakan himpunan relasi.
4. Garis, menyatakan penghubung antara himpunan relasi dengan himpunan entitas dan himpunan entitas dengan atributnya.
Entitas adalah suatu objek yang dapat didefinisikan dalam lingkungan pemakai, sesuatu yang penting bagi pemakai dalam konteks sistem yang akan dibuat. Sebagai contoh pelanggan, pegawai dll. Seandainya A adalah seorang pegawai maka A adalah isi dari pegawai, sedangkan jika B adalah seorang pelanggan maka B adalah isi dari pelanggan. Karena itu harus dibedakan entitas sebagai bentuk umum dari deskripsi tertentu dan isi entitas seperti A dan B dalam contoh di atas.Entitas yang bersifat fisik. Contoh : pegawai, guru, dan karyawan.
Entitas yang bersifat konsep. Contoh: gaji,sekolah
Entitas yang mempunyai atribut kunci. Entitas ini bersifat mandiri, keberadaanya tidak bergantung pada entitas lainnya. Percepatan entitas kuat selalu memiliki karakteristik yang unik disebut "identifier" (sebuah atribut tunggal atau gabungan atribut-atribut yang secara unik dapat digunakan untuk membedakannya dari entitas kuat yang lain).
Kebanyakan entitas dalam suatu organisasi dapat digolongkan sebagai entitas kuat "(strong entity)" yaitu entitas yang mandiri, yang keberadaannya tidak bergantung pada keberadaan entitas yang lainnya. Instansiasi entitas kuat selalu memiliki karakteristik yang unik (dinamakan "identifier" atau sering disebut sebagai atribut pengidentifikasi) yaitu, sebuah atribut tunggal atau gabungan atribut-atribut yang secara unik dapat digunakan untuk membedakannya dari entitas kuat yang lain.
Entitas yang tidak mempunyai atribut kunci. Entitas lemah diidentifikasikan dengan menghubungkan entitas tertentu dari tipe entitas yang lain ditambah atribut dari entitas lemah. Tipe entitas lain yang dipakai untuk mengidentifikasikan suatu entitas lemah disebut "identifying owner" dan relasi yang menghubungkan entitas lemah dengan owner disebut "identifying relationship"
Contoh entitas pegawai
Entitas mempunyai elemen yang disebut atribut, dan berfungsi mendekripsikan karakter dari entitas. Atribut adalah properti atau karakteristik yang dimiliki oleh suatu entitas di mana properti atau karakteristik itu bermakna atau berarti bagi organisasi atau perusahaan, misalnya untuk pencatatan data pegawai di suatu instansi, entitas pegawai mungkin memiliki atribut-atribut nomor induk pegawai, nama, alamat, nomor telepon, gaji pokok dan lainnya. Setiap diagram hubungan entitas bisa terdapat lebih dari satu atribut. Atribut digambarkan dalam bentuk elips.Entitas memiliki himpunan atribut yang berasosiasi dengannya.
Atribut terdiri dari atribut sederhana atau atormis, atribut komposit, atribut berharga tunggal. atribut "null-value", atribut kunci, atribut bernilai banyak dan atribut turunan. Masing-masing atribut memiliki ciri tersendiri. Atribut atormis tidak dapat dibagi-bagi menjadi atribut yang sederhana. Atribut komposit adalah atribut yang dapat dipecah menjadi atribut lain, misalnya atribut alamat dapat dipecah menjadi atribut jalan, kecamatan, kelurahan,kota serta kode pos. atribut komposit digunakan pada database untuk kemudahan menjawab pertanyaan-pertanyaan tertentu dalam database atribut berharga tunggal mempunyai satu harga untuk entitas tertentu, atribut "null-value" tidak mempunyai nilai, atribut kunci merupakan atribut unik dari suatu entitas dan nilai dari atribut kunci akan berbeda untuk masing-masing entitas.atribut bernilai banyak adalah atribut yang entitasnya lebih dari satu, misalnya adalah atribut hobi. Atribut hobi ini bisa terdiri dari atribut berenang, atribut voli dan atribut berbelanja.atribut turunan merupakan atribut yang didapat dari atribut lainnya.Pada entitas pegawai terdapat atribu nomor induk yang biasanya terkandung nilai tahun masuk, misalnya NIP =5195025, berarti Pegawai yang bersangkutan masuk pada tahun 1995), maka jika kita tambahkan atribut Lama_Kerja pada entitas Pegawai, atribut Lama_Kerja dapat kita hitung dengan cara mengurangkan tahun di mana perhitungan dilakukan (katakanlah 2005) dengan tahun mahasiswa yang bersangkutan masuk ke Instansi (Hasilnya 10 tahun).
Relasi adalah hubungan antara suatu himpunan dengan himpunan entitas yang lainnya. Pada penggambaram diagram hubungan entitas, relasi adalah perekat yang menghubungkan suatu entitas dengan entitas lainnya. Relasi merupakan hubungan yang berarti antara suattu entitas dengan entitas lainnya. Frasa ini berimplikasi bahwa relasi mengizinkan untuk menjawab pertanyaan-pertanyaan yang berkaitan dengan hubungan suatu entits dengan lainya.
Hubungan dibedakan antar bentuk hubungan antar entitas dengan isinya masing-masing. Misalnya kasus hubungan antara entitas pegawai dan entitas bagian adalah jam kerja, sedangkan isi hubungannya dapat berupa total jam kerja, gaji lembur. Relasi digambarkan dalam bentuk intan. Pada model data relasi hubungan antar data dihubungkan dengan kunci relasi. Tipe hubungan di antara beberapa buah tipe entitas adalah kumpulan dari relasi di antara entitas-entitas dari tipe entitas tersebut.
Relasi mempunyai 2 karakteristik terdiri dari kumpulan "tuple-tuple", urutan dari "tuple-tuple" merepresenrasikan data pada tingkat abstrak logis dan urutan data dianggap penting.
Batas keikutsertaan dari relasi terdiri dari total, parsial, satu ke satu, satu ke banyak atau banyak ke satu, dan banyak ke banyak. Batas total menunjukkan pada semua elemen, misalnya semua karyawan harus bekerja pada suatu departemen. Batas parsial menunjukkan pada suatu entitas tertentu hanya berhubungan dengan satu entitas yang lain. Batas satu ke satu menunjukkan pada atribut kunci pada derajat relasi dapat ditempatkan pada salah satu entitas. Batas satu ke banyak menunjukkan attribut kunci pada derajat relasi ini hanya dapat dimasukan sebagai atribut dari tipe entitas pada sisi N dan batas banyak ke banyak menunjukkan sejumlah entitas berhubungan dengan sejumlah entitas B. Atribut ini harus tetap di nyatakan sebagai atribut relasi dan tidak dapat digabungkan pada salah satu entitas yang terlibat.
Model relasional adalah model yang menggunakan sejumlah tabel untuk menggambarkan data serta hubungan antara data-data. Setiap tabel memiliki sejumlah kolom, setiap kolom memiliki nama yang unik. Model relasional memiliki struktur "record" berformat tertentu di mana masing-masing isinya memiliki tipe-tipe yang berbeda (Misalnya tipe data untuk nomor induk pegawai adalah "string", tentu berbeda dengan tipe data untuk nama [misalnya: string] yang panjangnya tidak ditentukan, bergantung pada komputer tempat aplikasi diimplementasikan.