Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
Enhanced ER Modeling
Techniques
Yusuf Priyandari
@Agustus 2010
2
Contents
Click to add Title1
Click to add Title2
Click to add Title3
Click to add Title4
pri.and.ari@2010
3
Tahap Pengembangan Basis Data
Model
pri.and.ari@2010
1
2
3
4 5
6 7
1
Topics discussed
4
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)
pri.and.ari@2010
5
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
6
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.
pri.and.ari@2010
7
3. Relasi Superclass/Subclass
.
pri.and.ari@2010
8
4. Pewarisan Atribut
Sebuah instans dalam sebuah subclass/superclass
merepresentasikan suatu objek nyata.
Oleh karenanya, sebuah anggota subclass mewarisi atribut-
atribut 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.pri.and.ari@2010
9
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
10
5. Proses Spesialisasi/Generalisasi
pri.and.ari@2010
11
5. Proses Spesialisasi/Generalisasi
pri.and.ari@2010
12
6. Batasan pd Spesialisasi/Generalisasi
pri.and.ari@2010
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.
13
6. Batasan pd Spesialisasi/Generalisasi
pri.and.ari@2010
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
14
6. Batasan pd Spesialisasi/Generalisasi
pri.and.ari@2010
15
6. Batasan pd Spesialisasi/Generalisasi
Pilihan yang tersedia untuk merepresentasikan relasi
superclass/subclass yang didasarkan pada partisipasi dan
batasan.
pri.and.ari@2010
16
THE STAYHOME VIDEO RENTALS
Studi Kasus
pri.and.ari@2010
17
Hasil Identifikasi Super/Subclass
.
pri.and.ari@2010
18
Diskusi
pri.and.ari@2010
19
Tugas Mandiri
Buatlah secara berkelompok rangkuman desain tabel-tabel untuk StayHome.
Misal, dari alur cerita desain tabel Branch, diperoleh:
pri.and.ari@2010
20
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.
pri.and.ari@2010
21 pri.and.ari@201021
22
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]
pri.and.ari@2010
Tugas Mandiri
23
Tugas Mandiri
Baca buku [1] chapter 12, 13, 15, dan 16
pri.and.ari@2010