Anda di halaman 1dari 24

Enhanced ER Modeling Techniques

Yusuf Priyandari @Agustus 2010

Contents

1
2 3 4

Click to add Title

Click to add Title

Click to add Title

Click to add Title

pri.and.ari@2010

Tahap Pengembangan Basis Data


Model
1
1

Topics discussed
4

3
5

6
3

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

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
.

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.

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
Buatlah secara berkelompok rangkuman desain tabel-tabel untuk StayHome. Misal, dari alur cerita desain tabel Branch, diperoleh:

19

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:
pri.and.ari@gmail.com

22

pri.and.ari@2010

Tugas Mandiri
Baca buku [1] chapter 12, 13, 15, dan 16

23

pri.and.ari@2010