Database Design Pertemuan 5
Enhanced Entity-Relationship (EER)
Dahlia Widhyaestoeti, S.Kom
Refresh
Sebuah bank memiliki beberapa cabang di daerah yang berlainan. Masing-masing cabang memiliki nasabah yang relatif banyak. Setiap nasabah boleh memiliki beberapa rekening.
Gambarkan skema ERD lengkap dengan cardinalitas nya!
1. Notasi dan Konsep Dasar Konsep-konsep yang penting dalam diagram EER adalah : Supertype dan Subtype. Konsep ini mengijinkan pengembang untuk memodelkan entitas yang bersifat umum (supertype) dan kemudian membaginya ke beberapa entitas yang terspesialisasi yang dinamakan subtype. ➔ Notasi
dasar yang digunakan untuk supertype digambarkan dengan penghubung lingkaran pada garis.
➔ Simbol
berbentuk U pada setiap garis yang menghubungkannya dengan arah ke subtype.
➔ Simbol
U juga memberi arah pewarisan dari supertype ke subtype
1. Notasi dan Konsep Dasar
Nama
Alamat
Sebuah perusahaan memiliki 2 kategori karyawan : karyawan harian dan karyawan tetap. Atribut NIP dan Gaji_bulanan adalah atribut yang unik untuk Karyawan Tetap. Atribut No_karyawan dan Honor_perjam atribut yang unik untuk entitas Karyawan Harian.
Tanggal_gaji
Karyawan
Supertype
Subtype
Karyawan_Tetap
NIP
gaji_bulanan
Karyawan_Harian
No_karyawan
honor_perjam
Subtype
2. Pewaris Atribut ➔ ➔
Adalah keadaan dimana entitas subtype mewarisi nilai-nilai dari semua atribut pada syupertype. Pewaris (Inheritance) merupakan suatu karakteristik penting dimana tidak perlu lagi menuliskan atribut-atribut yang ada pada supertype sebagai atribut-atribut pada subtype. Hal ini memungkinkan untuk meminimalisasi redudansi-redudansi yang tidak perlu. No_Pasien
Tgl_Daftar
Id_Dokter
Dirawat oleh
Pasien
Nm_Pasien
Berobat_Jalan
Rawat_Inap
Tgl_Cek
Tgl_Keluar
Nm_Dokter
Dokter
menempati
Tempat_tidur
No_tmp_tdr
3. Generalilasi ➔
Adalah proses untuk medefinisikan entitas yang bersifat umum dari sekumpulan entitas yang lebih terkhususkan, sehingga dapat dikatakan generalisasi adalah proses bawah ke atas (bottom up) Thn_mesin
Mdl_mesin
Thn_mesin No_mesin
Mdl_mesin
No_mesin
Kabin
Mobil Penumpang
Truk Jml_gigi
Kapasitas
Jml_gigi
Harga
Harga
Thn_mesin
Mdl_mesin
No_mesin
Jml_gigi
Motor
Harga
Memiliki atribut-atribut yang mirip. Kesamaan atribut dapat dikelompokkan menjadi entitas yang mewakili karakteristik-karakteristik yang umum dari ketiga entitas tersebut dengan proses geralisasi.
3. Generalilasi Thn_mesin
Mdl_mesin
Harga
No_mesin
●
●
Entitas motor tidak memiliki atribut-atribut yang khusus yang memungkinkannya menjadi subtype tersendiri.
Kendaraan
Entitas motor tidak memiliki relasi dengan entitas-entitas yang lain sehingga tidak perlu membuat subtype motor secara tersendiri. Kabin Penumpang
Mobil
Truk
Kapasitas
4. Spesialisasi ➔ Adalah
proses medefinisikan satu atau lebih subtype dari suatu supertype dan menbentuk relasi supertype/subtype.
➔ Setiap
subtype dibentuk berdasarkan karakteristikkarakteristik yang bersifat spesifik pada subtype.
➔ Spesialisasi
kebalikan dari generalisasi yakni proses atas ke bawah (top_bottom).
4. Spesialisasi
Keterangan
Entitas part dengan
Unit_Price
No_Part
Harga
Part
Id_supplier
beberapa atributnya yakni No_Part sebagai atribut pengidentifikasi
Id_Supplier yang
merupakan atribut bernilai ganda karena ada lebih dari 1 suplier untuk satu Part.
4. Spesialisasi Id_Supplier No_Part
Keterangan
Part
Supplier
Unit_Price No_Pabrik
Manufacture_Part
Purchased_Part
persediaan
5. Batasan Kelengkapan (Completeness) Memiliki 2 aturan yakni :
● Spesialisasi
Total
Mespesialisasi bahwa setiap instansiasi entitas dari suatu supertype harus menjadi anggota dari salah satu atau beberapa subtype dalam suatu relasi. Setiap Pasien harus merupakan Pasien Rawat Inap atau Pasien No_Pasien Berobat Jalan Nm_Pasien
Tgl_Daftar
Id_Dokter
Dirawat oleh
Pasien
Berobat_Jalan
Rawat_Inap
Tgl_Cek
Tgl_Keluar
Nm_Dokter
Dokter
menempati
Tempat_tidur
No_tmp_tdr
5. Batasan Kelengkapan (Completeness) Spesialisasi Sebagian
Mespesialisasi bahwa setiap instansiasi entitas dari suatu supertype diijinkan bukan merupakan bagian dari subtype manapun. Thn_mesin
Mdl_mesin
Harga
No_mesin
Kendaraan beroda 4
Kendaraan
Kabin Penumpang
Mobil
Truk
Kapasitas
6. Batasan Disjoint Memiliki 2 aturan yakni :
● Aturan
Disjoint
Menspesifikasi bahwa instansiasi dari 2 supertype adalah merupakan anggota dari subtype dania tidaklah merupakan anggota dari dua atau lebih subtype. ● Pada
saat pasien yang sama tidak mungkin seorang pasien rawat inap No_Pasien Tgl_Daftar merupakan pasien berobat jalan Nm_Pasien Pasien sekaligus. ● Aturan ini dinamakan aturan disjoin d sehingga lingkaran diberi label huruf d
Id_Dokter
Dirawat oleh
Berobat_Jalan
Rawat_Inap
Tgl_Cek
Tgl_Keluar
Nm_Dokter
Dokter
menempati
Tempat_tidur
No_tmp_tdr
6. Batasan Disjoint ● Aturan
Overlap
Menspesifikasi bahwa instansiasi dari supertype mungkin merupakan bagian dari 2 atau lebih subtype. ● Part yang sama jenisnya Thn_mesin Mdl_mesin mungkin saja dibuat oleh pabrik yang bersangkutan Harga No_mesin sekaligus dibeli dari Supplier tertentu. ● Jika terjadi, maka Part Kendaraan merupakan 2 bagian dari 2 subtype sekaligus yakni manufactured_Part dan Purchased_Part O ● Penggambaran Overlap dilakukan dengan menambahkan huruf O. Kabin
Penumpang
Mobil
Truk
Kapasitas
7. Diskriminator Adalah atribut dari supertype yang nilainya menentukan ke subtype yang mana suatu intansiasi tergolongkan. ● Instansiasi
Karyawan haruslah merupakan karyawan tetap atau karyawan harian, tidak mungkin kedua-duanya. ● Atribut tipe karyawan ditambahkan pada supertype , maka atribut ini akan dikodekan dengan satu dari 2 kemungkinan nilai yakni “T” untuk karyawan tetap dan “H” untuk karyawan harian. ● Ekspresi “TipeKaryawan =” ditempatkan pada sebelah kanan garis ganda.
Nama
Tanggal_gaji
Karyawan “Tipe Karyawan =”
d “T”
Karyawan_Tetap
NIP
Alamat
gaji_bulanan
“H” Karyawan_Harian
No_karyawan
honor_perjam