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 Supertype Subtype Nama Alamat Tanggal_gaji Karyawan 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. Karyawan_Tetap Karyawan_Harian Subtype NIP gaji_bulanan No_karyawan honor_perjam
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 Nm_Dokter Nm_Pasien Pasien Dirawat oleh Dokter Berobat_Jalan Rawat_Inap menempati Tempat_tidur Tgl_Cek Tgl_Keluar 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 Thn_mesin Mdl_mesin No_mesin Mdl_mesin No_mesin Kabin Mobil Truk Penumpang 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 No_mesin Harga 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 No_Part Keterangan Unit_Price Harga Entitas part dengan beberapa atributnya yakni No_Part sebagai atribut pengidentifikasi Part Id_Supplier yang merupakan atribut bernilai ganda karena ada lebih dari 1 suplier untuk satu Part. Id_supplier
4. Spesialisasi Id_Supplier No_Part Keterangan Part Supplier No_Pabrik Unit_Price 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 No_Pasien Pasien Berobat Jalan Tgl_Daftar Id_Dokter Nm_Dokter Nm_Pasien Pasien Dirawat oleh Dokter Berobat_Jalan Rawat_Inap menempati Tempat_tidur Tgl_Cek Tgl_Keluar 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 No_mesin Harga Kendaraan Kendaraan beroda 4 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 merupakan pasien berobat jalan sekaligus. Aturan ini dinamakan aturan disjoin sehingga lingkaran diberi label huruf d Nm_Pasien No_Pasien Tgl_Daftar Pasien d Dirawat oleh Id_Dokter Dokter Nm_Dokter Berobat_Jalan Rawat_Inap menempati Tempat_tidur Tgl_Cek Tgl_Keluar No_tmp_tdr
6. Batasan Disjoint Aturan Overlap Menspesifikasi bahwa instansiasi dari supertype mungkin merupakan bagian dari 2 atau lebih subtype. No_mesin Thn_mesin Kendaraan O Mdl_mesin Harga Part yang sama jenisnya mungkin saja dibuat oleh pabrik yang bersangkutan sekaligus dibeli dari Supplier tertentu. Jika terjadi, maka Part merupakan 2 bagian dari 2 subtype sekaligus yakni manufactured_part dan Purchased_Part 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 Alamat Tanggal_gaji T Karyawan d Tipe Karyawan = H Karyawan_Tetap Karyawan_Harian NIP gaji_bulanan No_karyawan honor_perjam