entity-relationship model
DESCRIPTION
ENTITY-RELATIONSHIP MODEL. ENTITY-RELATIONSHIP MODEL. Entity relationship : cara memodelkan suatu data ditingkat konseptual dalam perancangan basis data. Tujuan : menyajikan data dan menjadikan data mudah dimengerti, sehingga mempermudah perancangan dan pengaksesan database. - PowerPoint PPT PresentationTRANSCRIPT
ENTITY-RELATIONSHIP MODEL
ENTITY-RELATIONSHIP MODEL
Entity relationship : cara memodelkan suatu data ditingkat konseptual dalam perancangan basis data.
Tujuan : menyajikan data dan menjadikan data mudah dimengerti, sehingga mempermudah perancangan dan pengaksesan database.
Berdasarkan tipe konsepnya, data model dibagi menjadi dua kategori yaitu Conceptual (High Level) Data Model dan Physical (Low Level) Data Model.
Conceptual Data Model merupakan konsep yang berkaitan dengan pandangan pemakai terhadap data, sedangkan Physical Data Model merupakan konsep yang menerangkan detail dari bagaimana data di simpan di dalam komputer.
ERD merupakan suatu model untuk menjelaskan hubungan antar data dalam basis data berdasarkan objek-objek dasar data yang mempunyai hubungan antar relasi.
Entity-Relationship Diagram Merupakan diagram yang
menggambarkan hubungan (relationship) antar entitas (entity).
Symbol E-R Diagram
Symbol
______
= Entity
Keterangan
= Weak Entity
= Relationship
= Identifying Relationship
= Atribut
= Atribut Kunci
= Atribut Multivalue
Symbol Keterangan
= Atribut Komposit
= Atribut Derivatif
E1 E2R = Total Participation Of E2 In R
E1 E2RN 1
= Cardinality Ratio 1:N For E1:E2 In R
Tahap PembuatanEntity Relationship Diagram1. Mengidentifikasikan dan menetapkan seluruh
himpunan entity yang akan terlibat.2. Menentukan atribut-atribut dari setiap entity.3. Menentukan atribut primary key dari setiap
entity.4. Menentukan relationship antar entity.5. Menentukan atribut-atribut dari setiap
relationship (jika ada).6. Menentukan Cardinality Rasio.7. Menentukan Participation Constraint.
ENTITY Entity adalah obyek yang dapat dibedakan dalam
dunia nyata. Entity sets adalah kumpulan dari entity yang
sejenis. Entity sets dapat berupa :
Obyek secara fisik : Rumah, Kendaraan, Peralatan, Mahasiswa.
Oyek secara konsep : Pekerjaan, Perusahaan, Rencana, Matakuliah.
Contoh: o Orang: MAHASISWA, DOSEN, PEMASOK, PENJUALo Benda: MOBIL, MESIN, RUANGANo Tempat: NEGARA, DESAo Kejadian: PENJUALAN, REGISTRASIo Konsep: REKENING, KURSUS
Simbol : persegi panjangnama_entity
ENTITY
Untuk membedakan antara entitas sebagai kumpulan data dan sebuah entitas terdapat istilah tipe entitas dan instan entitas Tipe entitas disebut juga himpunan
entitas Instan entitas adalah sebuah
kemungkinan data dalam sebuah tipe entitas
Tipe Entity dan Instan Entity
Atribut
Atribut adalah sifat atau karakteristik yang melekat dalam sebuah entitas Contoh:
MAHASISWA = (Nomor_Mhs, Nama_Mhs, Alamat_Mhs, Kota_Mhs)
MOBIL = (Kode_Mobil, Nama_Mobil, Cc)
Domain menyatakan kemungkinan nilai untuk sebuah atribut
Atribut (Lanjutan..)
Atribut Sederhana versus atribut komposit Atribut sederhana tidak bisa dipecah menjadi
bagian yang lebih kecil lagi Atribut komposit adalah atribut yang dapat
dipecah menjadi komponen yang lain
Alamat: Alamat_Jalan, Kota, Kode_PosNama: Nama_Depan, Nama_Tengah,
Nama_Belakang
Contoh Atribut komposit
Atribut (Lanjutan..)
Atribut nilai tunggal (single-valued) dan nilai berganda (multivalued attribute)
Atribut nilai berganda adalah atribut yang berkemungkinan memiliki nilai lebih dari satu
Contoh: Nomor_Telepon, Ketrampilan_Pemrograman
Atribut (Lanjutan..)
Atribut tersimpan dan atribut turunan (derived attribute) Atribut tersimpan adalah atribut yang secara
eksplisit tersimpan dalam database Atribut turunan adalah atribut yang nilainya
dapat dikalkulasi dari nilai atribut tersimpan Contoh:
Lama_Bekerja dapat dihitung dari Tgl_Mulai_Bekerja
Usia bisa dihitung dari Tgl_lahir
Simbol-Simbol Atribut (oval)
nama_atribut
nama_atributbernilai ganda
nama_entity
nama_atribut_komposit
nama_atribut_derivatif
nama_atribut_kunci
nama_atribut
nama_atribut
nama_atribut
RELATIONSHIP
Relationship adalah hubungan yang terjadi antara satu atau lebih entity.
Relationship sets adalah kumpulan dari relationship yang sejenis.
Contoh :
an employee work_on a company.
relationship : work_on. Simbol : wajik
employee companywork_on
Derajat dari Relationship
Menjelaskan jumlah entity yang berpartisipasi dalam suatu relationship
Unary Degree (Derajat Satu) : sebuah entity berelasi dengan dirinya.
employee
supervison
supervisor supervise
Derajat dari Relationship (lanj) Binary Degree (Derajat Dua) : terdapat dua
entity yang saling berhubungan.
employee companywork_on
Derajat dari Relationship (lanj) Ternary Degree (Derajat Tiga) : terdapat tiga
entity yang saling berhubungan.
employee brunchwork_on
job
employee_id
employee_name
title level
brunch_nameBrunch_city
Cardinality Ratio Menjelaskan jumlah keterhubungan satu entity
dengan entity yang lainnya. (1 : 1) : satu entitas pada tipe entitas A
berhubungan dengan paling banyak satu entitas pada tipe entitas B dan juga sebaliknya.
Contoh : seorang manager hanya memimpin satu departemen dan begitu sebaliknya.
M1M2M3
manager
R1R2R3
manages
D1D2D3
departement
manager departementmanages1 1
Cardinality Ratio (lanj)
(1 : N / N : 1) : suatu entitas di A dihubungkan dengan sejumlah entitas di B. Contoh : banyak karyawan berkerja untuk satu depertement atau satu departement memiliki banyak karyawan yang bekerja untuknya.
E1E2E3E4E5E6
employee
R1R2R3R4R5R6
works_for
D1D2D3
departement
employee departementworks_forN 1
Cardinality Ratio (lanj)
(M : N) : setiap entitas A dapat berhubungan dengan banyak entitas B dan sebaliknya setiap entitas B juga dapat berhubungan dengan banyak entitas A. Contoh : satu proyek mempunyai banyak karyawan, satu karyawan boleh bekerja di beberapa proyek.
E1E2E3E4
employee
R1R2R3R4R5R6
works_on
P1P2P3
project
employee projectworks_onM N
Kardinalitas Hubungan
Selalu hanya satu
Satu atau banyak
Nol atau satu
Nol, satu, atau banyak
Kekangan Kardinalitas
Jenis hubungan antartipe entitas seringkali dinyatakan tidak sekedar dalam bentuk berupa One to One, One to Many, Many to One, dan Many to Many, melainkan juga dengan menyertakan kekangan kardinalitas
Kekangan kardinalitas (cardinality constraint) adalah suatu keadaan yang digunakan untuk menyatakan jumlah instan dalam sebuah entitas yang dapat dikaitkan dengan sebuah instan pada entitas lain
Implementasinya adalah dengan menggunakan kardinalitas hubungan yang dijelaskan pada slide sebelum ini
Kekangan Kardinalitas (Lanj…) Berkaitan dengan kekangan kardinalitas,
terdapat istilah kardinalitas minimum dan kardinalitas maksimum
Kardinalitas minimum adalah jumlah instan tersedikit dalam sebuah entitas yang mungkin dikaitkan dengan setiap instan pada entitas lain
Kardinalitas maksimum adalah jumlah instan terbanyak dalam sebuah entitas yang mungkin dikaitkan dengan setiap instan pada entitas lain
Contoh Penerapan Kekangan Kardinalitas
MempunyaiPASIEN KUNJUNGAN (a) Dasar hubungan
(b) Hubungan dengan kekangan kardinalitas
MempunyaiPASIEN SEJARAHPASIEN
Contoh:
Amir
Dewi
Fahmi
Kunjungan 1
Kunjungan 2
Kunjungan 1
Kunjungan 1Kunjungan 2
Contoh Penerapan Kekangan Kardinalitas (Lanj…)
Ditugaskan_kePEGAWAI PROYEK (a) Dasar hubungan
(b) Hubungan dengan kekangan kardinalitas
Ditugaskan_kePEGAWAI PROYEK
Contoh:
Amir
Dewi
Fahmi
Proyek 1
Proyek 2
Proyek 3
Proyek 4Proyek 5Sueb
Contoh Penerapan Kekangan Kardinalitas yang Menggunakan Bentuk Lain
Arti Hubungan
Beberapa barang digunakan untuk Produk
Pelanggan tidak mengirim pesanan
BARANG
Digunakan_pada
PRODUK
PESANAN
Mengirim
PELANGGAN
Kekangan Kardinalitasnya?
ORANG Menikah_dengan PEGAWAI Membawahi
SUKU_CADANG Tersusun_atas
Jawaban Kekangan Kardinalitasnya :
ORANG Menikah_dengan PEGAWAI Membawahi
SUKU_CADANG Tersusun_atas
Participation Constraint Menjelaskan batasan keikut-sertaan dari suatu
entity terhadap hubungannya dengan entity yang lainnya.
Total Participation : menyatakan instance dari suatu entity harus berhubungan dengan instance dari entity lainnya.
Partial Participation : menyatakan setiap instance dari suatu entity tidak harus berhubungan dengan instance dari entity lainnya.
Contoh : setiap departemen harus dipimpin oleh seorang manager/karyawan (total participation) dan tidak semua karyawan yang memimpin suatu departemen (partial participation).
employee departementmanages1 1
Weak Entity (Entitas Lemah) Weak entity adalah suatu entity yang mana
keberadaannya tergantung dari keberadaan entity lain.
Entity yang merupakan induknya disebut Identifying Owner dan relationshipnya disebut Identifying Relationship.
Weak entity selalu mempunyai total participation constraint terhadap Identifying Owner. Contoh : entity tanggungan keberadaannya bergantung pada karyawan.
Weak Entity (lanj)
karyawan tanggunganmemiliki
nip ………… nama …………
CONTOH STUDI KASUS SEDERHANAUntuk keperluan penjelasan konsep dan penggunaan ER-Model, digunakan satu contoh database “FAKULTAS” yang didalamnya mencatat: data dosen data program studi / prodi data proyek
CONTOH STUDI KASUS SEDERHANAPenjelasan dari sebagian data FAKULTAS yang diperoleh setelah fase “Requirement Collection and Analysis” sbb:1. Fakultas terdiri dari beberapa Program
Studi (prodi). Setiap prodi mempunyai satu nama yang unik,nomer yang unik, dan seorang dosen bertindak sebagai kepala dari prodi (kaprodi). Tanggal mulai bekerja dari kaprodi juga dicatat dalam database (Tgl pengangkatan sebagai kaprodi). Satu prodi dapat tersebar disejumlah lokasi.
CONTOH STUDI KASUS SEDERHANA2.Suatu prodi dapat mengendalikan sejumlah
proyek mahasiswa, setiap proyek mempunyai satu nomor yang unik, nama yang unik, dan satu lokasi tertentu.
3.Data dosen yang perlu dicatat berupa : nama, nomor induk dosen, alamat, honor, jenis kelamin dan tanggal lahir.Seorang dosen ditempatkan di satu prodi, tetapi dapat menangani sejumlah proyek yang tidak harus dikendalikan oleh prodi dimana dosen tersebut ditempatkan.Jumlah jam perminggunya dari dosen yang menangani suatu proyek perlu dicatat, juga perlu dicatat supervisor langsung dari setiap dosen.
CONTOH STUDI KASUS SEDERHANA4. Untuk keperluan tunjangan
dosen, maka perlu dicatat anggota keluarga dari setiap dosen. Data yang dicatat berupa: nama anggota keluarga, sex, birthdate dan hubungan keluarga (relationship).
Latihan 1Gambarkan satu ER-Diagram dari satu set „requirements“ untuk keperluan database suatu universitas yang digunakan untuk menyimpan transkrip dari mahasiswa:
1. Universitas mencatat data setiap mahasiswa yang berupa: nama,nomor pokok, nomor KTP, alamat tetap, alamat sementara, tgl-lahir, jenis kelamin, nama jurusan, program pendidikan (Diploma Tiga, Sarjana, Pasca Sarjana).Sejumlah user dari aplikasi yang dibuat juga perlu untuk mengacu pada nama kota, propinsi dan kode pos dari alamat tetap mahasiswa, dan juga nama orang tua dari setiap mahasiswa.Nomor KTP dan nomor pokok unik untuk setiap mahasiswa.
Latihan 1
2. Setiap jurusan dijelaskan berdasarkan nama, kode jurusan, kode kantor, nomor telepon. Kode dan nama jurusan mempunyai nilai-nilai yang unik.
3. Setiap mata kuliah mempunyai kode, nama, jumlah sks, dan jurusan penyelenggara, kode mata kuliah unik untuk setiap mata kuliah yang ada.
Latihan 1
4. Setiap mata kuliah yang ditawarkan dalam setiap semester diidentifikasikan sebagai „section“, yang setiap section mempunyai nomor/kode dosen, semester, tahun, mata kuliah, dan nomor section. Nomor section membedakan sejumlah section yang mempunyai nama mata kuliah yang sama yang ditawarkan pada semester/tahun yang sama (nilainya adalah 1,2,3 .... s/d jumlah section yang ditawarkan dalam satu semester).
5. Laporan nilai prestasi belajar (Transkip) berisikan nama mahasiswa , section, serta nilai angka dan nilai huruf (0,1,2,3, atau 4).
Latihan 2
Suatu Basis Data akan dibangun untuk menyimpan informasi mengenai team-team dan pertandingan-pertandingan dalam suatu liga olah raga. Adapun informasi yang diinginkan untuk disimpan berupa:
a. Suatu Team mempunyai nama yang unik, dan Negara asal.
b. Suatu Team terdiri dari pemain-pemain. Data-data pemain yang diperlukan adalah nama pemain, No punggung yang unik, umur, posisi/peran pemain dalam pertandingan.
c. Data lokasi pertandingan yang berupa nama lokasi yang unik dan alamat lokasi yang terdiri dari jalan, kota, dan kode pos.
Latihan 2
d. Untuk tiap pertandingan yang perlu dicatat adalah nama-nama Team yang bertanding ( team tuan rumah dan team tamu), nama lokasi, dan hasil / skor pertandingan.
Buat ER-Diagram dari user requirement di atas. Buatlah asumsi-asumsi untuk lebih
melengkapi user requirement diatas.
Transformasi E-R Diagram ke Basis Data Relational
Tahap-Tahap Transformasi :1. Entity-Relationship Diagram menjadi basis data.2. Entity menjadi tabel dan atribut menjadi kolom/field dari tabel.3. Entitas lemah key dari “owner” (entitas kuat) ke tabel entitas
lemah.4. Setiap tipe entity dibuat suatu tabel yang memuat semua atribut
simple, sedangkan untuk atribut komposit hanya dimuat komponen-komponennya saja. Contoh :
street
city state
zip_code
address
customer
id
name
id
name
street
city
state
zip_code
Tabel Customer
Transformasi E-R Diagram ke Basis Data Relational (lanj)
5. Setiap tabel yang mempunyai atribut multivalue, buatlah tabel baru dimana primary key-nya merupakan gabungan dari primary key dari tabel tersebut dengan atribut multivalue.
proyek
no_proyek
nama_proyek
lokasii
no_proyek
nama_proyek
Tabel Proyek
Tabel Lokasi_Proyek
no_proyek
lokasi
Transformasi E-R Diagram ke Basis Data Relational (lanj)
6. Setiap unary relationship 1:N, selain membuat tabel baru berdasarkan entity, buat juga tabel baru berdasarkan relationship-nya dengan atribut kunci tamu (foreign key) berdasarkan atribut kunci dari entity tersebut dan atribut kunci alternatif sebagai primary key-nya.
employee
employee_id
employee_name
supervision
1
N
employee_id
employee_name
Tabel Employee
Tabel Supervision
supervisor_id
employee_id
Transformasi E-R Diagram ke Basis Data Relational (lanj)
7. Untuk CR 1:1 dengan atau tanpa total participation maka akan dibuat tabel baru berdasarkan relationship, dimana kolom-kolomnya terdiri dari alternate key, dan primary key dari masing-masing entity.
nip Nama_dos
Tabel Dosen
kode_jur
nama_jur
Tabel Jurusan
periode
kode_jur
nip
Tabel kaprodi
Dosen
nip nama_dos
Jurusan
kode_jur nama_jur
mengepalai
1
1
periode
Transformasi E-R Diagram ke Basis Data Relational (lanj)8. Untuk CR 1:N dengan atau tanpa total participation
maka primary key dari sisi 1 masuk ke sisi N.
nip nama_dos
Tabel Dosen
nim nama_mhs
nip
Tabel Mahasiswa
Dosen
nip nama_dos
mahasiswa
nim nama_mhs
perwalian
1
N
Transformasi E-R Diagram ke Basis Data Relational (lanj)9. Untuk CR M:N dibuat tabel tersendiri berdasarkan
relationshipnya dengan kolom-kolomnya terdiri dari alternate key dan primary key dari masing-masing entity.
nim
nama_mhs
Tabel Mahasiswa
kode_mk
nama_mk
Tabel Matakuliah
mahasiswa
nim nama_mhs
matakuliah
kode_mk nama_mk
mengambil
N
M
semester nim
kode_mk
Tabel KRSsemester
Studi Kasus :Rental VCD FILM Spesifikasi Database
Data dari film berupa : judul, jumlah kepingan, jumlah film. Film yang disewakan dikelompokkan ke dalam kelompok
film yang terdiri dari jenis film dengan masing-masing jenis memiliki harga sewa yang berbeda, artinya jenis film menentukan harga sewanya.
Data customer yang menyewa berupa : no identitas, jenis identitas, nama dan alamat.
Setiap customer dapat menyewa lebih dari satu film. Satu judul film dapat disewa oleh beberapa customer. lama sewa sesuai dengan jumlah film, terhitung dari tgl
menyewa. Setiap keterlambatan pengembalian akan dikenakan denda
per hari dan per film. nilai dari denda sudah ditetapkan (konstan).
Tahap Pembuatan Entity Relationship Diagram1. Mengidentifikasikan entity-entity yang ada.
entity-entity : KelompokFilm, Film, Customer.
2. Menentukan atribut-atribut dari setiap entity.
3. Menentukan primary key dari setiap entity.
Entity Atribut
Film judul, jml_keping, jml_film
KelompokFilm
jenis, harga_sewa
Customer no_identitas, jenis_identitas, nama, alamat
Entity Atribut
Film kode_film, judul, jml_keping, jml_film
KelompokFilm
jenis, harga_sewa
Customer no_identitas, jenis_identitas, nama, alamat
Tahap Pembuatan Entity Relationship Diagram (lanj)4. Menentukan relationship antar entity.
5. Menentukan atribut-atribut dari setiap relationship (jika ada).
Entity Relationship Entity
Film Dikelompokkan KelompokFilm
Customer
Menyewa Film
Relationship
Atribut
dikelompokkan
-
Menyewa tgl_sewa, total_film, tgl_kembali, total_harga, denda
Tahap Pembuatan Entity Relationship Diagram (lanj)6. Menentukan Cardinality Rasio.
7. Menentukan participation constraint. Setiap film harus merupakan anggota dari suatu
jenis film, sehingga film memiliki total participation terhadap relationshipnya dengan entity kelompok film.
Setip customer tidak harus selalu menyewa film dan setiap film tidak harus disewa oleh customer. Sehingga entity-entity ini memiliki partial participation relationship antar keduanya.
Entity Relationship
Entity Cardinality Rasio
Film dikelompokkan
KelompokFilm
N : 1
Customer
Menyewa Film N : M
Entity Relationship Diagram Rental VCD FILM
kelompokfilm
jenis harga_sewa
Film
kode_film
judul
jml_film
jml_keping
dikelompokkan
1 N
Customer
no_identitas
jenis_identitas
nama alamat
M
N
menyewa
tgl_sewa total_film
total_harga
dendatgl_kembali