Entity Relationship Model
Rinta Kridalukmana, S.Kom, MT !
Program Studi Sistem Komputer – Universitas Diponegoro
Database sebagai kelompok tabel yang berkaitan & mengekspresikan hubungan SQL STATEMENT : SELECT dbo.job.name AS Job, dbo.contractors.contractor, dbo.contractors.phone, dbo.equipment.equipment_type AS [Equipment Type], dbo.equipment.equipment_number AS [Equipment Number], dbo.equipment.daily_rate AS [Daily Rate], dbo.rental.start_date AS [Start Date], dbo.rental.end_date AS [End Date], DATEDIFF(day, dbo.rental.start_date, dbo.rental.end_date) + 1 AS Days, (DATEDIFF(day, dbo.rental.start_date, dbo.rental.end_date) + 1) * dbo.equipment.daily_rate AS CHARGE FROM dbo.job RIGHT OUTER JOIN dbo.rental ON dbo.job.job_id = dbo.rental.job_id LEFT OUTER JOIN dbo.contractors ON dbo.rental.contractor_id = dbo.contractors.contractor_id LEFT OUTER JOIN dbo.equipment ON dbo.rental.equipment_id = dbo.equipment.equipment_id
Entity Relationship Model (1) • Diperkenalkan oleh Chen (1976) • Berdasarkan anggapan bahwa dunia nyata terdiri dari koleksi
obyek-obyek dasar yang dinamakan entitas serta hubungan antar entitas (relationship) • Tidak bergantung DBMS dan platform perangkat keras
Entity Relationship Model (2) • Digunakan untuk : • Mengembangkan model konseptual • Menjelaskan struktur basis data • Memberikan gambaran kepada pengguna terhadap data !
• 3 Komponen penting dalam model ER adalah : • Entity • Atribut • Relasi
Entity / Entitas • Adalah obyek di dunia nyata yang dapat dibedakan dengan
obyek lainnya • Set Entitas à
Himpunan entitas
Dapat berupa : • Fisik : Mahasiswa, pasien, kendaraan • Konsep/Logik : Pekerjaan, Mata Kuliah, Kursus
• Simbol Entity :
Mahasiswa Berupa kotak segi empat
Atribut • Adalah ciri atau karakteristik yang bermakna untuk
mendeskripsikan entitas
• Ada karakteristik bermakna & tidak bermakna • Contoh : mahasiswa • Nim, nama IPK à atribut bermakna • Tinggi badan, berat badan à tidak bermakna !
• Bertujuan untuk membedakan obyek-obyek dalam entitas
Simbol Atribut
Berbentuk elips dan dihubungkan dengan garis ke entitas
5 Jenis Atribut • Atribut Tunggal • Atribut yang disusun hanya dari satu komponen tunggal dengan
keberadaan bebas • Tidak dapat dibagi lagi à atribut atomik • Misal : nama, jenis kelamin !
• Atribut Komposit • Atribut yang disusun dari banyak komponen yang masing-masing
keberadaannya bebas. • Misal : alamat à jalan, no_rumah, kecamatan
5 Jenis Atribut • Atribut Key • Digunakan untuk mengidentifikasikan suatu entitas secara unik • Misal : NIM, NIP, Agama
• Atribut bernilai jamak / multivalue • Atribut yang mengandung banyak nilai • Misal : hobi, nomer telpon
• Atribut Turunan / deritative • Atribut yang mengandung nilai di mana nilai tersebut bisa diperoleh
dari hasil kalkulasi atribut lain • Misal : atribut umur à bisa diperoleh dari tanggal lahir
Cara penggambaran jenis atribut
Domain Atribut • Himpunan nilai yang diberikan ke suatu atribut • Termasuk di antaranya : • • • • •
Tipe data Panjang karakter yang diijinkan Konstrain Format Dll
• Atribut yang berbeda boleh memiliki domain nilai yang sama
Key • Adalah sejumlah atribut yang mengidentifikasikan record /
baris dalam sebuah relasi secara unik • Beberapa jenis key : • • • • • •
Super key Candidate key Primary key Alternate key Composite key Foreign key
Jenis Key • Super Key • Satu atribut atau kumpulan atribut yang secara unik
mengidentifikasikan sebuah record di dalam relasi atau himpunan dari satu atau lebih entitas yang dapat digunakan untuk mengidentifikasikan secara unik sebuah entitas dalam entitas set
• Candidate Key • Atribut-atribut yang menjadi determinan yang dapat dijadikan
identitas record. Pada sebuah relation bisa terdapat satu atau lebih candidate key
Jenis Key • Primary Key • Candidate key yang menjadi identitas record karena dapat
mengidentifikasikan record secara unik
• Alternate Key • Candidate kay yang tidak dijadikan primary key
• Composite Key • Key yang terdiri dari 2 atribut atau lebih. Atribut-atribut
tersebut bila berdiri sendiri tidak menjadi identitas record, tetapi bila dirangkaikan menjadi satu kesatuan akan dapat mengidentifikasikan secara unik
Jenis Key • Foreign Key • Non key atribut pada sebuah relasi yang juga menjadi key
(primary) atribut di relasi lainnya. Foreign key biasanya digunakan sebagai penghubung antara record-record dari kedua relasi tersebut.
Contoh kasus : KRS
PROFIL'POTENSI'UNGGULAN'DAN'PENGEMBANGAN'DAERAH'ALIRAN'SUNGAI A.'Profil'Sungai Nama$Sungai$ :$ Bengawan$Solo Panjang : 600$km Propinsi$yang$dilintasi : Jawa$Tengan$dan$Jawa$Timur Kabupaten$yang$dilintasi$ : Boyolali,$Klaten,$Sukoharjo,$ Wonogiri,$Karanganyar,$Sragen,$ Blora,$Rembang,$Ponorogo,$ Madiun,$Magetan,$Ngawi,$ Bojonegoro,$Tuban,$Lamongan,$ Gresik$,$Pacitan Kota$yang$dilintasi : Surakarta,$Madiun,$Surabaya Daerah$Aliran$Sungai : I$DAS$Bengawan$Solo$(16.100$km2) I$DAS$Kaligrundu$dan$Kalilorog$(1.515$km2) I$DAS$Bengawan$Solo$Hulu$(6.072$km2) I$DAS$Kali$Madiun$(3.755$km2) I$DAS$Pantura$(1.441$km2) I$DAS$Kali$Lamong$(720km2) B.'Potensi'dan'Prioritas'Pengembangan'DAS Nama'DAS
Potensi'Unggulan
Prioritas'Pengembangan
DAS$Bengawan$Solo$dan$ DAS$Pantura
Pertanian$tanaman$pangan,$ perikanan,$industri,$pariwisata,$ perdagangan$jasa,$ pertambangan
Mengembangkan$kawasan$ industri$di$kawasan$utara,$ mengembangkan$industri$ perikanan$Blondong,$eksploitasi$ sumber$daya$tambang,$ menumbuhkan$pariwisata
DAS$Kali$Madiun,$DAS$ Kaligrundu,$dan$DAS$ Kalilorog
Pertanian$tanaman$pangan,$ industri,$perikanan
Mengembangkan$kawasan$ industri$di$Madiun,$Optimalisasi$ pariwisata$alam
DAS$Kali$Lamong
Perdagangan$Jasa,$industri,$ perikanan,$pariwisata,$ pertanian$
DAS$Bengawan$Solo$Hulu
Industri,$pariwisata,$tanaman$ pangan,$perdagangan
Aglomerasi$pemukiman$kota,$ meningkatkan$produksi$ perikanan$tambak,$kawasan$ budidaya$tanaman$pangan Mengembangkan$kawasan$ industri,$mengembangkan$ potensi$wisata,$ mempertahankan$kawasan$ tanaman$pangan
Relasi • Adalah hubungan antara suatu himpunan entitas dengan
himpunan entitas lainnya • Simbol yang digunakan adalah belah ketupat • Contoh :
Atribut Relasi • Uraian tentang suatu hubungan • Berguna untuk menjelaskan suatu hubungan • Jika atribut hubungan cukup banyak maka perlu
dipertimbangkan untuk menjadi entitas baru
Derajat Relasi • Unary relationship / rekursif relationship • Hanya melibatkan 1 entitas / berderajad 1
Derajat Relasi • Binary Relationship • Melibatkan 2 entitas / berderajad 2
Derajat Relasi • Ternary Relationship • Melibatkan 3 entitas / berderajad 3
Cardinality Ratio Constraint (1) • Menyediakan batasan jumlah relasi suatu entitas dengan
entitas lainnya • Jenis rasio kardinalitas : • One to one (1 : 1) • One to many (1 : M) • Many to many (M : M)
Kardinalitas Maksimum & Minimum • Batasan Kardinalitas : • Kardinalitas minimum Jumlah contoh atribut yang harus ada agar obyek valid. Biasa diwakilkan dengan angka 0 dan 1. 0 à
atribut tidak diharuskan memiliki nilai
1 à
atribut harus memiliki nilai
! • Kardinalitas maksimum Angka maksimum contoh atribut yang bisa dimiliki obyek. Biasa diwakilkan dengan angka 1 & N. 1 à
atribut dapat memiliki tidak lebih dari satu nilai
N à
atribut dapat memiliki banyak nilai, angka absolut tidak ditentukan
Contoh K. Maks & Min. • DepartmenName (1.1) • Diperlukan persis satu nilai untuk nama departemen • PhoneNumber (1.N) • Departemen diharuskan memiliki paling tidak 1 nomor telepon, tetapi dapat memiliki banyak nomor • FaxPhoneNumber(0.1) • Departemen dapat memiliki 0 atau 1 nomor fax
Jenis Relasi 1 : 1
Jenis Relasi 1 : M
Jenis Relasi M : M
Partisipasi Hubungan • Adalah partisipasi atau keterlibatan tiap anggota entitas dalam
membentuk instansiasi hubungan • Ada 2 jenis partisipasi :
• Full / total participation / wajib • Keberadaan suatu entitas tergantung pada hubungan dengan entitas lainnya. • Partial participation / tidak wajib • Keberadaan suatu entitas tidak tergantung pada hubungan dengan entitas lain
Full & Partial Participation • Simbol :
Entitas Lemah & Kuat • Entitas kuat : keberadaannya tidak tergantung entitas lain • Entitas lemah : keberadaannya sangat tergantung keberadaan
entitas lain • Simbol :
Transformasi ER ke Relational Database • Atribut Tunggal
Transformasi ER ke Relational Database • Atribut Composit
Transformasi ER ke Relational Database • Atribut Multivalue
Transformasi ER ke Relational Database • Pemetaan hubungan 1 : M
Transformasi ER ke Relational Database • Pemetaan hubungan M : M
Transformasi ER ke Relational Database • Pemetaan Hubungan M : M
Istilah dalam model relasional