Pert 5 - ERD

Download Report

Transcript Pert 5 - ERD

ERD
(Entity Relationship Diagram)
Pertemuan Minggu Ke-5
Kompetensi Khusus
• Mahasiswa mampu menganalisis kebutuhan
data dalam organisasi dalam bentuk ERD (C4)
Entity Relationship Model (ERM)
• ERD mewakili databse konseptual yang dilihat
oleh end user.
• ERD
menggambarkan
komponen
utama
database: entitas, atribut, & hubungan.
• Berikut beberapa notasi ERD:
– Chen mengacu kepada pemodelan konseptual.
– Crow’s Foot mengacu lebih kepada pendekaan
berorientasi implementasi.
– UML dapat digunakan baik untuk pemodelan
konseptual & implementasi.
Entitas
• Merupakan tabel (bukan baris) dalam
lingkungan relasional.
• Dalam notasi Chen, Crow’s Foot, & UML,
entitas digambarkan dengan kotak segi empat
yang berisi nama entitas.
• Nama entitas menggunakan kata benda yang
ditulis dalam huruf besar.
Atribut
• Adalah karakteristik dari entitas.
• Dalam notasi Chen, atribut digambarkan dengan
oval & dihubungkan ke kotak entitas dengan
garis.
• Tiap oval berisi nama atribut.
• Dalam notasi Crow’s Foot, atribut dituliskan
dalam kotak atribut di bawah kotak entitas.
• Karena notasi Chen memakan ruang yang cukup
besar, maka vendor software mengadopsi notasi
Crow’s Foot.
Atribut dari Entitas STUDENT
• Required & optional attribute
– Required attribute adalah atribut yang harus memiliki nilai
& harus diisi.
– Optional attribute adalah atribut yang tidak membutuhkan
nilai & boleh tidak diisi.
• Domain
– Atribut memiliki domain.
– Domain adalah sekumpulan nilai yang mungkin untuk
atribut tertentu.
– Atribut dapat berbagi domain jika nama atribut yang sama
digunakan.
• Identifier (Primary Key)
– Merupakan satu atau lebih atribut yang mengidentifikasi
secara unik tiap instance entitas.
– Digarisbawahi dalam ERD.
• Composite identifier
– Primary key yang terdiri dari lebih dari satu atribut.
• Composite & simple attribute
– Composite attribute adalah atribut yang dapat dibagi lagi menjadi
atribut tambahan.
– Simple attribute adalah atribut yang tidak dapat dibagi lagi.
• Single-valued attribute
– Atribut yang hanya memiliki nilai tunggal.
– Single-valued attribute tidak harus berupa simple attribute. Misalnya:
no. seri barang seperti SE-08-02-189935 adalah single-valued, tetapi
merupakan composite attribute karena dapat dibagi menjadi region
tempat produksi barang (SE), kode pabrik (08), shift pabrik (02), &
nomor barang (189935).
• Multivalued attribute
– Atribut yang dapat memiliki banyak nilai.
– Dalam notasi Chen, multivalued attribute ditunjukkan dengan garis
ganda yang menghubungkan atribut dengan entitas.
– Dalam notasi Crow’s Foot, tidak ada tanda untuk multivalued
attribute.
Contoh Multivalued Attribute
– Walaupun model konseptual dapat menangani hubungan M:N & multivalued
attribute, tetapi dalam tabel relasional, tiap perpotongan kolom & baris
mewakili nilai data tunggal.
– Jika multivalued attributes muncul, maka desainer harus memutuskan salah
satu dari dua cara berikut:
• Dalam entitas asli, buatlah beberapa atribut baru, satu untuk tiap komponen dari
multivalued attribute asli. Cara ini dapat memunculkan masalah jika tidak semua data
memiliki nilai untuk komponen dari multivalued attribute tersebut.
• Buat entitas baru yang terdiri dari komponen multivalued attribute asli. Kemudian entitas
baru ini akan terhubung ke entitas asli dengan hubungan 1:M. Cara ini lebih baik karena
lebih fleksibel & sesuai dengan model relasional.
• Derived attribute (computed attribute)
– Atribut yang nilainya dihitung dari atribut lain.
– Tidak perlu disimpan dalam database karena dapat diperoleh menggunakan
algoritma.
– Dalam notasi Chen, derived attribute digambarkan dengan garis putus-putus
yang menghubungkan atribut & entitas.
– Dalam notasi Crow’s Foot, tidak ada tanda untuk derived attribute.
– Keputusan untuk menyimpan derived attribute dalam tabel database
bergantung pada kebutuhan pemrosesan & batasan pada aplikasi tertentu.
1. Memecah multivalued attribute menjadi atribut baru
2. Membuat entitas baru yang terdiri dari komponen multivalued attribute
Contoh Derived Attribute
Keuntungan & Kerugian Menyimpan Derived Attribute
STORED
NOT STORED
Advantage
Saves CPU processing cycles.
Saves data access time.
Data value is readily available.
Can be used to keep track of
historical data.
Saves storage space.
Computation always yields current
value.
Disadvantage
Requires constant maintenance to
ensure derived value is current,
especially if any valued used in the
calculation change.
Uses CPU processing cycles.
Increases data access time.
Adds coding complexity to queries.
Hubungan
• Entitas yang berpartisipasi dalam hubungan
dikenal sebagai partisipan.
• Tiap hubungan diidentifikasi oleh nama yang
mendeskripsikan hubungan.
• Nama hubungan berupa kata kerja aktif atau
pasif.
• Hubungan antar entitas beroperasi dalam 2 arah.
• Dengan mengetahui hubungan 2 arah antar
entitas, maka akan lebih mudah mengklasifikasi
hubungan tsb sebagai 1:1 atau 1:M atau M:N.
• Konektivitas & Kardinalitas
– Konektivitas
mendeskripsikan
klasifikasi
hubungan.
– Kardinalitas mengekspresikan jumlah minimum &
maksimum dari kemunculan entitas sehubungan
dengan kemunculan tunggal dari entitas terkait.
– Dalam ERD, kardinalitas ditandai dengan
menuliskan jumlah yang sesuai di samping entitas,
menggunakan format (x,y). Nilai pertama (x)
menunjukkan jumlah minimum sementara nilai
kedua (y) menunjukkan jumlah maksimum.
– Konektivitas & kardinalitas dibuat berdasarkan
pernyataan yang dikenal sebagai aturan bisnis.
Konektivitas & Kardinalitas dalam ERD
• Existence Dependence
– Suatu entitas dikatakan existence dependent jika
entitas dapat muncul dalam database hanya ketika
ia terhubung dengan kemunculan entitas lain.
– Dalam implementasi, entitas yang existence
dependence memiliki foreign key mandatory yang
artinya atribut foreign key tidak boleh null.
– Jika entitas dapat muncul terpisah dari semua
atribut terkait, maka dikatakan existenceindependent & disebut sebagai strong entity atau
regular entity.
• Kekuatan Hubungan
– Konsep dari kekuatan hubungan berdasarkan pada
bagaimana primary key dari tabel didefinisikan.
– Hubungan Weak (Non-Identifying)
• Muncul jika primary key dari entitas tidak memiliki
komponen primary key dari entitas induk. Jadi hubungan
dibangun dengan adanya primary key dari entitas induk
muncul sebagai foreign key pada entitas anak.
• Dalam notasi Crow’s Foot, hubungan weak digambarkan
dengan garis putus-putus antar entitas.
– Hubungan Strong (Identifying)
• Muncul jika primary key dari entitas berisi komponen
primary key dari entitas induk.
• Dalam notasi Crow’s Foot, hubungan strong digambarkan
dengan garis utuh antar entitas.
Hubungan Weak (Non-Identifying)
Hubungan Strong (Identifying)
• Entitas Lemah
– Entitas yang memenuhi kondisi berikut ini:
• Entitas existence-dependent; ia tidak dapat muncul tanpa entitas yang berhubungan
dengannya.
• Entitas memiliki primary key yang sebagian atau seluruhnya diturunkan dari entitas induk
dalam hubungan.
– Dalam notasi Chen, entitas lemah digambarkan dengan kotak segi empat
bergaris ganda.
• Partisipasi Hubungan
– Partisipasi dalam hubungan entitas bisa opsional atau mandatori.
– Partisipasi opsional berarti kemunculan satu entitas tidak membutuhkan
kemunculan entitas lain dalam hubungan tersebut.
– Dalam notasi Crow’s Foot, hubungan opsional antar entitas ditunjukkan
dengan menggambar lingkaran kecil di sisi dari entitas opsional.
– Kemunculan entitas opsional menandakan bahwa kardinalitas minimumnya
adalah 0 (nol).
– Partisipasi mandatori berarti kemunculan satu entitas membutuhkan
kemunculan entitas lain dalam hubungan tersebut. Jika digambarkan,
partisipasi mandatori ditunjukkan dengan garis kecil melintang di atas garis
hubungan, sama dengan notasi Crow’s Foot yang menggambarkan hubungan
one (1).
– Kemunculan entitas mandatori menandakan bahwa kardinalitas minimum
paling kecil adalah 1 (satu).
Entitas Lemah dalam ERD
Tabel Simbol Crow’s Foot
Contoh Entitas Opsional
Contoh Entitas Mandatori
• Tingkat Hubungan
–
–
–
–
–
Menandakan jumlah entitas atau partisipan dalam hubungan.
Unary relationship muncul ketika hanya ada satu entitas.
Binary relationship muncul ketika melibatkan dua entitas.
Ternary relationship muncul ketika melibatkan tiga entitas.
Walaupun masih ada tingkat hubungan yang lebih tinggi, namun
jarang terjadi & tidak diberikan penamaan khusus.
• Hubungan Rekursif
– Muncul di antara kemunculan entitas yang sama & biasanya
ditemukan dalam unary relationship.
• Entitas Asosiatif (Komposit)
– Digunakan untuk mewakili hubungan M:N di antara 2 atau lebih
entitas.
– Disebut juga composite atau bridge entity, adalah hubungan 1:M
dengan entitas induk & terdiri dari atribut primary key dari tiap entitas
induk.
– Boleh memiliki atribut sendiri.
– Ketika menggunakan notasi Crow’s Foot, entitas asosiatif diidentifikasi
sebagai hubungan strong, yang digambarkan dengan garis utuh.
Contoh Hubungan Rekursif
Contoh hubungan M:N yang dipecah menjadi 1:M melalui entitas komposit
Membuat Diagram ER
• Berikut tahapan pembuatan diagram ER:
– Membuat deskripsi operasi perusahaan secara mendetail.
– Mengidentifikasi aturan bisnis berdasarkan deskripsi
operasi.
– Mengidentifikasi entitas utama & hubungan dari aturan
bisnis.
– Membuat ERD awal.
– Mengidentifikasi atribut & primary key yang cukup untuk
mendeskripsikan entitas.
– Merevisi & meninjau ERD.
• Contoh proses pembuatan diagram ER Tiny College
(lihat buku hal 195).
Tantangan Desain Database: Konflik antar Tujuan
• Standar desain
– Desain database harus sesuai dengan standar desain.
– Standar desain menuntun pengembangan struktur logis yang
meminimalkan redudansi data.
• Kecepatan pemrosesan
– Kecepatan pemrosesan yang tinggi berarti waktu akses yang
cepat, yang dapat dicapai dengan meminimalkan jumlah &
kompleksitas dari hubungan.
• Kebutuhan informasi
– Fokus dari desain database adalah informasi yang tepat waktu.
– Kebutuhan informasi yang rumit dapat mendikte transformasi
data, & dapat memperbanyak jumlah entitas & atribut dalam
desain.
Review Materi
• Mahasiswa mengerjakan tugas yang ada di
portal.