BASIS DATA I/2011-GANJIL ER-DIAGRAM (ENTITY RELATIONSHIP DIAGRAM) Oleh Team Teaching Database 26 September 2011 BASIS DATA I/2011-GANJIL 1 ER-DIAGRAM Model Entity Relationship • Model Entity Relationship Adalah suatu penyajian data dengan menggunakan Entity dan Relationship • Mengapa Model E-R Mudah dimengerti oleh pemakai Mudah disajikan oleh perancang database 26 September 2011 BASIS DATA I/2011-GANJIL 2 ER-DIAGRAM Konsep Dasar • Diagram ER merupakan model konseptual untuk menggambarkan struktur logis dari basisdata berbasis grafis 26 September 2011 BASIS DATA I/2011-GANJIL 3 ER-DIAGRAM Entity • Simbol -> • Entity adalah obyek yang dapat dibedakan dalam dunia nyata • Entity set adalah kumpulan dari entity yang sejenis • Entity set dapat berupa : Obyek secara fisik : Rumah, Kendaraan, Peralatan Obyek secara konsep : Pekerjaan , Perusahaan, Rencana 26 September 2011 BASIS DATA I/2011-GANJIL 4 ER-DIAGRAM Relationship • Simbol -> • Relationship adalah hubungan yang terjadi antara satu atau lebih entity. • Relationship set adalah kumpulan relationship yang sejenis. Mahasiswa 26 September 2011 Mengambil BASIS DATA I/2011-GANJIL MATA_KULIAH 5 ER-DIAGRAM Atribut • Simbol -> • Atribut adalah karakteristik dari entity atau relationship, yang menyediakan penjelasan detail tentang entity atau relationship tersebut. • Nilai Atribut merupakan suatu data aktual atau informasi yang disimpan pada suatu atribut di dalam suatu entity atau relationship. • Domain (Value Set) : Batas-batas nilai yang diperbolehkan bagi suatu atribut 26 September 2011 BASIS DATA I/2011-GANJIL 6 ER-DIAGRAM Jenis-Jenis Atribut • Key Atribut yang digunakan untuk menentukan suatu entity secara unik. • Atribut Simple Atribut sederhana yang tidak dapat dibagi dalam beberapa bagian • Atribut Komposit : Atribut yang dapat dibagi lagi dalam beberapa bagian; contoh : Alamat; yang terdiri dari Negara, Propinsi dan Kota 26 September 2011 BASIS DATA I/2011-GANJIL 7 ER-DIAGRAM Jenis-Jenis Atribut • Atribut Single-valued Atribut yang memiliki paling banyak satu nilai untuk setiap baris data • Multi-valued attributes Atribut yang dapat diisi dengan lebih satu nilai tetapi jenisnya sama. Contoh : Nomor Telp, Alamat, Gelar • Atribut Turunan Atribut yang diperoleh dari pengolahan dari atribut lain yang berhubungan. Contoh : Umur, IP 26 September 2011 BASIS DATA I/2011-GANJIL 8 ER-DIAGRAM Jenis-Jenis Atribut (Atribut Komposit) NEGARA KOTA PROPINSI ALAMAT MAHASISWA 26 September 2011 BASIS DATA I/2011-GANJIL 9 ER-DIAGRAM Jenis-Jenis Atribut (Multi Value Attribute) NIM NAMA NO_HP MAHASISWA 26 September 2011 BASIS DATA I/2011-GANJIL 10 ER-DIAGRAM Jenis-Jenis Atribut (Attribute Turunan ) NIM TGL_LAHIR UMUR MAHASISWA 26 September 2011 BASIS DATA I/2011-GANJIL 11 ER-DIAGRAM Derajat Himpunan Relasi • Derajat Relasi menunjukan banyaknya himpunan entitas yang saling berelasi • Unary Degree (Derajat Satu) melibatkan sebuah entitas yang berelasi dengan dirinya sendiri • Binary Degree(Derajat Dua) Himpunan relasi melibatkan dua himpunan entitas. Secara umum himpunan relasi dalam sistem basis data adalah binary • Ternary Degree (Derajat Tiga) Himpunan relasi memungkinkan untuk melibatkan lebih dari dua himpunan entitas 26 September 2011 BASIS DATA I/2011-GANJIL 12 ER-DIAGRAM Unary Degree PEGAWAI Melapor 26 September 2011 BASIS DATA I/2011-GANJIL 13 ER-DIAGRAM Binary Degree PEGAWAI 26 September 2011 Kerja BASIS DATA I/2011-GANJIL DEPARTEMEN 14 ER-DIAGRAM Ternary Degree PEGAWAI Kerja PROYEK KOTA 26 September 2011 BASIS DATA I/2011-GANJIL 15 ER-DIAGRAM Pemetaan Kardinalitas Relas • Menggambarkan banyaknya jumlah maksimum entitas dapat berelasi dengan entitas pada himpunan entitas yang lain. • Untuk Himpunan relasi biner pemetaan kardinalitasnya dapat merupakan salah satu dari tipe2 berikut : 1. Satu ke Satu (One to one) 2. Satu ke Banyak (One to many) 3. Banyak ke Satu (Many to one) 4. Banyak ke Banyak (Many to many) 26 September 2011 BASIS DATA I/2011-GANJIL 16 ER-DIAGRAM Pemetaan Kardinalitas Relas One to one 26 September 2011 One to many BASIS DATA I/2011-GANJIL 17 ER-DIAGRAM Pemetaan Kardinalitas Relas Many to one 26 September 2011 Many to many BASIS DATA I/2011-GANJIL 18 ER-DIAGRAM Dampak Pemetaan Kardinalitas pada Desain ER • Dalam mendesain Entity Relasionship pemetaan kardinalitas akan berpengaruh terhadap bagaimana data tersebut akan digambarkan 26 September 2011 BASIS DATA I/2011-GANJIL 19 ER-DIAGRAM Key • Penggunaan key merupakan cara untuk membedakan suatu entitas didalam himpunan entitas dengan entitas lain • Secara konsep, Masing-masing entitas (nilainya) berbeda, perbedaannya terlihat pada isi dari masing-masing atributnya. • Oleh karena itu, dibutuhkan suatu atribut yang memiliki nilai yang menjadi pembeda dengan entitas lain • Key adalah satu atau gabungan dari beberapa atribut yang dapat membedakan semua row dalam relasi secara unik 26 September 2011 BASIS DATA I/2011-GANJIL 20 ER-DIAGRAM Key, Cont’d… Ada 3 macam key yang dapat diterapkan pada suatu relasi : 1. Super Key 2. Merupakan satu atau lebih atribut (kumpulan atribut) yang dapat membedakan satiap baris data dalam sebuah relasi secara unik. Candidate Key 3. Merupakan kumpulan atribut minimal yang dapat membedakan setiap baris data dalam sebuah relasi secara unik Primary Key Merupakan salah satu dari candidate key yang terpilih Pemilihan primary key dari sejumlah candidate key umumnya didasari oleh : Key tersebut lebih sering (lebih natural) untuk dijadikan sebagai acuan Key tersebut lebih ringkas Jaminan keunikan key tersebut lebih baik 26 September 2011 BASIS DATA I/2011-GANJIL 21 ER-DIAGRAM Key, Cont’d… • • • Mahasiswa = (NIM, NAMA_MHS, ALAMAT_MHS, TGL_LAHIR) Superkey (NIM, NAMA_MHS, ALAMAT_MHS, TGL_LAHIR) (NIM, NAMA_MHS, ALAMAT_MHS) (NIM, NAMA_MHS) (NAMA_MHS) (NIM) • Candidate Key (NAMA_MHS) (NIM) Primary Key (NIM) 26 September 2011 BASIS DATA I/2011-GANJIL 22 ER-DIAGRAM Notasi ER • Entity sets digambarkan dengan • Relationship sets digambarkan dengan • Hubungan antara Entity sets – Relationship sets serta atribut – entity sets digambarkan dengan garis • Atribut digambarkan dengan Atribut Multivalue Atribut Key Nama_Perusahaan Nama NIP Alamat Pegawai 26 September 2011 ID Bekerja BASIS DATA I/2011-GANJIL Alamat_Perush Perusahaan 23 ER-DIAGRAM Diagram E-R dengan atribut Composite, Multivalued dan derived 26 September 2011 BASIS DATA I/2011-GANJIL 24 ER-DIAGRAM Himpunan Relasi dengan Atribut 26 September 2011 BASIS DATA I/2011-GANJIL 25 ER-DIAGRAM Peran (Role) • • • • Relasi Himpunan entitas tidak harus dalam bentuk yang berbeda Label “manager” dan “worker” disebut Roles (peran), yang menspesifikasi bagaimana entitas employee berinteraksi melalui relasi Works-for Peran dalam ER diagram diindikasikan dengan memberikan label (nama) pada garis yang menghubungkan relasi dengan entitas Label peran bersifat optional dan digunakan untuk mengklarifikasi semantik suatu relasi 26 September 2011 BASIS DATA I/2011-GANJIL 26 ER-DIAGRAM Constraint Kardinalitas • Dalam menggambarkan kardinalitas pada Diagram ER, digunakan : garis panah (→) yang menunjukkan “Satu” atau garis biasa (—) yang menunjukkan “Banyak”, antara relasi dengan entitas 26 September 2011 BASIS DATA I/2011-GANJIL 27 ER-DIAGRAM Weak Entity • Weak Entity: suatu entity dimana keberadaan dari entity tersebut tergantung dari keberadaan entity lain • Entity yang merupakan induknya disebut Identifying Owner dan relationship-nya Disebut Identifyimg Relationship • Weak Entity Selalu mempunyai Total Participation Constraint dengan Identifying Owner • Contoh : entity tanggungan keberadaannya bergantung pada karyawan 26 September 2011 BASIS DATA I/2011-GANJIL 28 ER-DIAGRAM Weak Entity, Cont’d… nip ………… karyawan 26 September 2011 nama memiliki BASIS DATA I/2011-GANJIL ………… tanggungan 29 ER-DIAGRAM ISA (`is a’) Hierarchies name ssn Seperti dalam C++, atau PLs lainnya, attribut diwariskan/diturunkan. Jika kita menyatakan A ISA B, tiap hourly_wages entitas A juga dipandang sebagai entitas B. lot Employees hours_worked Overlap constraints: Dapatkah Joe menjadi Hourly_Emps Hourly_Emps seperti juga entitas Contract_Emps? (Allowed/disallowed) Covering constraints: Apakah tiap entitas Employees juga harus menjadi entitas Hourly_Emps atau Contract_Emps? (Yes/no) Alasan menggunakan ISA: Untuk menambahkan atribut deskriptif spesifik pada a subclass. Untuk mengidentifikasi entitas yang berpartisipasi dalam relationship. 26 September 2011 BASIS DATA I/2011-GANJIL ISA contractid Contract_Emps 30 PENUTUP 26 September 2011 BASIS DATA I/2011-GANJIL 31