Enhanced ER Modeling Techniques
Yusuf Priyandari @Agustus 2010
Contents
2
1
Click to add Title
2
Click to add Title
3
Click to add Title
4
Click to add Title
pri.and.ari@2010
Tahap Pengembangan Basis Data Model 1
1
2
3
Topics discussed 4
6 3
5
7 pri.and.ari@2010
1. Keterbasatasan ER Pemodelan ER memiliki kelemahan untuk perancangan basis data yang kompleks dengan jumlah atribut/data dan relasi yang sangat banyak. Salah satu upaya mengatasi kelemahan tersebut adalah dengan mengadopsi konsep Enhanced ER (EER) di dalam perancangan basis data. Konsep EER yang banyak dipakai adalah “Specialization/Generalization” Konsep “Specialization/Generalization” berkaitan dengan tipe entitas khusus yang dikenal sebagai superclass dan subclass, dan proses pewarisan atribut (attribute inheritance) 4
pri.and.ari@2010
2. Superclass dan Subclass Superclass. Sebuah entitas yang mencakup/memiliki satu atau beberapa kelompok instans yang berbeda. Gabungan dari beberapa subclass yang sejenis Ex: Staff { Manager, Supervisor, Sales }
Subclass. Sebuah kelompok instans dari sebuah entitas. Ex: Manager, Supervisor, Sales
5
pri.and.ari@2010
3. Relasi Superclass/Subclass Relasi antara superclass dengan beberapa subclassnya adalah one-to-one (1:1). Ex: Staff – Manager. Setiap anggota sebuah subclass pasti juga anggota superclass, tetapi memiliki perbedaan properti (attribute) ataupun perilaku (behavior). Penggunaan superclass/subclass dimaksudkan untuk mengakomodir adanya entitas yang memiliki banyak kesamaan atribut, namun ada perbedaan pada beberapa atribut secara khusus. Ex: Manager secara khusus punya atribut kepemilikan kendaraan, disamping memiliki sejumlah atribut yang sama dengan staff pada umumnya. 6
pri.and.ari@2010
3. Relasi Superclass/Subclass .
7
pri.and.ari@2010
4. Pewarisan Atribut Sebuah instans dalam sebuah subclass/superclass merepresentasikan suatu objek nyata. Oleh karenanya, sebuah anggota subclass mewarisi atributatribut yang berkaitan dengan superclass, namun juga memiliki atribut yang spesifik untuk subclass tersebut. Ex: SalesPersonnel Specific: salesArea, vehicleLicenseNo, carAllowance General: staffNo, name, dll
Sebuah subclass yang memliki beberapa superclass disebut a shared subclass. Dengan kata lain, sebuah anggota a shared subclass pasti anggota suatu superclass. Konsekuensinya, atribut-atribut superclass diwariskan oleh shared subclass tersebut, yang kemungkinan juga memiliki atribut tambahan sendiri. Hal ini disebut multiple inheritance. 8 pri.and.ari@2010
5. Proses Spesialisasi/Generalisasi Spesialisasi: Proses memaksimasi perbedaan antar anggota dalam sebuah entitas dengan mengidentifikasi berbagai karakteristik yang berbeda. Spesialisasi adalah pendekatan top-down yang bertujuan untuk mendefinisikan sejumlah subclass-subclass yang terkait dengan superclass.
Generalisasi: Proses meminimasi perbedaan antar entitas dengan mengidentifikasi berbagai karakteristik yang sama. Generalisasi adalah pendekatan bottom-up yang tujuannya adalah mengidentifikasi superclass dari subclass-subclass yang ada.
9
pri.and.ari@2010
5. Proses Spesialisasi/Generalisasi
10
pri.and.ari@2010
5. Proses Spesialisasi/Generalisasi
11
pri.and.ari@2010
6. Batasan pd Spesialisasi/Generalisasi Ada dua batasan yang dkiterapkan pada relasi superclass/subclass: Batasan partisipasi (participation constraint) Disjoint constraint. Batasan partisipasi (participation constraint) Menentukan apakah setiap instans di superclass harus ada/berpartisipasi sebagai anggota sebuah subclass. Bentuk partisipasi: Mandatory : setiap instans di superclass juga harus menjadi anggota sebuah subclass Optional : sebuah anggota superclass tidak perlu menjadi anggota subclass manapun. 12
pri.and.ari@2010
6. Batasan pd Spesialisasi/Generalisasi Disjoint constraint Mendeskripsikan relasi antara anggota-anggota suatu subclass dan mengindikasikan apakah memungkinkan bagi sebuah anggota superclass untuk menjadi anggota dari satu, atau beberapa subclass. Disjoint constraint diterapkan jika superclass memiliki lebih dari satu subclass. Jika suatu subclass bersifat disjoint, maka sebuah instans dapat menjadi anggota sebuah subclass saja, dan sebaliknya untuk nondisjoint. Gunakan “or” untuk menandakan disjoint, dan Gunakan “and” untuk menandakan nondisjoint 13
pri.and.ari@2010
6. Batasan pd Spesialisasi/Generalisasi
14
pri.and.ari@2010
6. Batasan pd Spesialisasi/Generalisasi Pilihan yang tersedia untuk merepresentasikan relasi superclass/subclass yang didasarkan pada partisipasi dan batasan.
15
pri.and.ari@2010
Studi Kasus
THE STAYHOME VIDEO RENTALS
16
pri.and.ari@2010
Hasil Identifikasi Super/Subclass .
17
pri.and.ari@2010
Diskusi
18
pri.and.ari@2010
Tugas Mandiri
19
Buatlah secara berkelompok rangkuman desain tabel-tabel untuk StayHome. Misal, dari alur cerita desain tabel Branch, diperoleh:
pri.and.ari@2010
Tugas Mandiri
Hasil rangkuman desain tabel Branch yang dibuat di Excell sbb:
Untuk tipe data, tidak perlu terlalu spesifik berdasarkan aplikasi DBMS yang akan digunakan (misal, Integer, Char, Varchar, dll untuk MySQL), cukup berbentuk umum saja dahulu.
20
pri.and.ari@2010
21
21
pri.and.ari@2010
Tugas Mandiri
Gunakan semua informasi yang ada di buku termasuk yang terdapat di Lampiran C, misal: ERD final untuk StayHome.
Dikumpulkan 24 jam sebelum waktu perkuliahan berikutnya. Dikumpulkan melaui email:
[email protected]
22
pri.and.ari@2010
Tugas Mandiri Baca buku [1] chapter 12, 13, 15, dan 16
23
pri.and.ari@2010