37
Supertype & Subtypes EER - MODEL

Supertype & Subtypes - slametalica303.files.wordpress.com · • Pekerja Harian • ID • Nama • ... Tempat Tidur dan Dokter relasi terhadap semua Pasien relasi terhadap pasien

  • Upload
    lequynh

  • View
    259

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Supertype & Subtypes - slametalica303.files.wordpress.com · • Pekerja Harian • ID • Nama • ... Tempat Tidur dan Dokter relasi terhadap semua Pasien relasi terhadap pasien

Supertype-Subtype-Super Entity-Sub Entity- Generalisasi - Spesialisasi

Supertype & Subtypes

EER - MODEL

Page 2: Supertype & Subtypes - slametalica303.files.wordpress.com · • Pekerja Harian • ID • Nama • ... Tempat Tidur dan Dokter relasi terhadap semua Pasien relasi terhadap pasien

Supertype & Subtypes• Subtype: Pengelompokan sebagian entity

instances dari suatu entity type yang memiliki attribute yang berbeda dengan kelompok lain

• Supertype: Sebuah entity type umum yang memiliki satu atau lebih subtypes

• Pewarisan (inheritance):

• Semua subtypes dari suatu supertype akan mewarisi semua attribute supertype-nya

• Entity instance dari semua subtypes juga merupakan entity instance supertype-nya

Page 3: Supertype & Subtypes - slametalica303.files.wordpress.com · • Pekerja Harian • ID • Nama • ... Tempat Tidur dan Dokter relasi terhadap semua Pasien relasi terhadap pasien

Basic EER Notation for Supertype/Subtypes relationships

dan seterusnya...

Entitytype

umum

Entitytypes

khusus

attributes milik

semua,baik

supertype maupun semua

subtypes-nya

attributes milik

subtype 1 saja

Page 4: Supertype & Subtypes - slametalica303.files.wordpress.com · • Pekerja Harian • ID • Nama • ... Tempat Tidur dan Dokter relasi terhadap semua Pasien relasi terhadap pasien

Contoh 1Supertype/Subtype

• Supertype: Kendaraan

• Subtypes:

• Motor

• ID

• Harga

• Ukuran Mesin

• Mobil

• ID

• Harga

• Ukuran Mesin

• Jumlah Penumpang

• Truk

• ID

• Harga

• Ukuran Mesin

• Kapasitas Bak

• Jenis Bak

Page 5: Supertype & Subtypes - slametalica303.files.wordpress.com · • Pekerja Harian • ID • Nama • ... Tempat Tidur dan Dokter relasi terhadap semua Pasien relasi terhadap pasien

Kendaraan, Truk, dan Mobil

attributes milik

semua Kendaraan

attributes miliktruk saja

attributemilik

mobilsaja

lalu...di mana

Motornya?

supertype dapat memiliki entity

instance yang bukan merupakan instance dari

subtypes yang manapun

Page 6: Supertype & Subtypes - slametalica303.files.wordpress.com · • Pekerja Harian • ID • Nama • ... Tempat Tidur dan Dokter relasi terhadap semua Pasien relasi terhadap pasien

Contoh 2Supertype/Subtype

• Supertype: Pasien

• Subtypes:

• Rawat Inap

• ID

• Nama

• Tanggal Lahir

• Tanggal Masuk

• Tanggal Keluar

• Rawat Jalan

• ID

• Nama

• Tanggal Lahir

• Tanggal Kembali

Page 7: Supertype & Subtypes - slametalica303.files.wordpress.com · • Pekerja Harian • ID • Nama • ... Tempat Tidur dan Dokter relasi terhadap semua Pasien relasi terhadap pasien

Pasien, Rawat Inap, dan Rawat Jalan

attributes milik

semua Pasien

attributes milik

pasienrawat inap saja

attributemilik

pasien rawat jalansaja

semua pasien memiliki nama dan

tanggal lahir, namun hanya pasien rawat inap yang memiliki tanggal masuk dan

tanggal keluar

Page 8: Supertype & Subtypes - slametalica303.files.wordpress.com · • Pekerja Harian • ID • Nama • ... Tempat Tidur dan Dokter relasi terhadap semua Pasien relasi terhadap pasien

Contoh 3Supertype/Subtype

• Supertype: Pekerja

• Subtypes:

• Pekerja Tetap

• ID

• Nama

• Alamat

• Gaji Bulanan

• Masa Kerja

• Pekerja Harian

• ID

• Nama

• Alamat

• Upah Harian

• Konsultan

• ID

• Nama

• Alamat

• Tarif Konsultasi

Page 9: Supertype & Subtypes - slametalica303.files.wordpress.com · • Pekerja Harian • ID • Nama • ... Tempat Tidur dan Dokter relasi terhadap semua Pasien relasi terhadap pasien

Pekerja Tetap, Harian, dan Konsultan

attributes milik

semua Pekerja

kedua attributes ini adalah

milikPekerja Tetap

saja

attributemilik

Konsultansaja

sebuah supertype dapat memiliki satu atau lebih macam

subtypes

Page 10: Supertype & Subtypes - slametalica303.files.wordpress.com · • Pekerja Harian • ID • Nama • ... Tempat Tidur dan Dokter relasi terhadap semua Pasien relasi terhadap pasien

Relasi dan Subtypes

• Relasi pada tingkat supertype berarti semua subtypes ikut serta dalam relasi tersebut

• Relasi pada tingkat subtype berartihanya subtype tersebut yang terkait dengan relasi yang dimaksud

Page 11: Supertype & Subtypes - slametalica303.files.wordpress.com · • Pekerja Harian • ID • Nama • ... Tempat Tidur dan Dokter relasi terhadap semua Pasien relasi terhadap pasien

Relationship denganSupertype/Subtypes

dan seterusnya...

Entitytype

umum

Entitytypes

khusus

Relasi yang terkait dengan semua entity

instances

Relasi yang hanya terkait dengan entity

instance dari

salah satu Subtype

saja

Page 12: Supertype & Subtypes - slametalica303.files.wordpress.com · • Pekerja Harian • ID • Nama • ... Tempat Tidur dan Dokter relasi terhadap semua Pasien relasi terhadap pasien

Rawat Inap, Rawat Jalan,Tempat Tidur dan Dokter

relasi terhadapsemua Pasien

relasi terhadap pasienrawat inap saja

dokter memeriksa semua pasien, baik rawat inap maupun rawat jalan

namun, hanya pasien rawat inap sajayang diberi alokasi tempat tidur

Page 13: Supertype & Subtypes - slametalica303.files.wordpress.com · • Pekerja Harian • ID • Nama • ... Tempat Tidur dan Dokter relasi terhadap semua Pasien relasi terhadap pasien

Generalisasi & Spesialisasi

• Generalisasi (Generalization): Proses pendefinisian sebuah entity type yang lebih umum dari sekumpulan entity types yang khusus

• Spesialisasi (Specialization): Proses pendefinisian satu atau lebih entity type yang khusus dari sebuah entity type yang umum

Page 14: Supertype & Subtypes - slametalica303.files.wordpress.com · • Pekerja Harian • ID • Nama • ... Tempat Tidur dan Dokter relasi terhadap semua Pasien relasi terhadap pasien

Proses Generalisasi Motor, Mobil, Truk

Pada proses

generalisasisudah

diketahui terlebih dahulu...

...beberapa entity typesyang

ternyata memiliki kesamaan

Page 15: Supertype & Subtypes - slametalica303.files.wordpress.com · • Pekerja Harian • ID • Nama • ... Tempat Tidur dan Dokter relasi terhadap semua Pasien relasi terhadap pasien

Proses Generalisasi Kendaraan => Mobil, Truk

Dari kesamaan-kesamaan

yang ditemukan, kemudian dibentuk...

...sebuah super-type

yang lebih umum

(general) dari

berbagai entity

types awal

attributes yang sama kita letakkan pada supertype

Catatan:Motor tidak perlu

subtype karena tidak ada attribute

yang unik khusus untuk Motor

Page 16: Supertype & Subtypes - slametalica303.files.wordpress.com · • Pekerja Harian • ID • Nama • ... Tempat Tidur dan Dokter relasi terhadap semua Pasien relasi terhadap pasien

Proses SpesialisasiMobile Phone

Pada proses

spesialisasidari satu entity type

yang diketahui...

...ternyata ditemukan keperluan

untuk membuat beberapa entity types

yang lebih khusus

Page 17: Supertype & Subtypes - slametalica303.files.wordpress.com · • Pekerja Harian • ID • Nama • ... Tempat Tidur dan Dokter relasi terhadap semua Pasien relasi terhadap pasien

Proses Spesialisasi Mobile Phone => Baru, Bekas

Dari keperluan-keperluan

yang ditemukan,

(misal, attributes

yang berbeda) kemudian dibentuk...

...satu atau lebih

subtypeyang lebih

khusus (special)

dari entity type

awalnya

Page 18: Supertype & Subtypes - slametalica303.files.wordpress.com · • Pekerja Harian • ID • Nama • ... Tempat Tidur dan Dokter relasi terhadap semua Pasien relasi terhadap pasien

Proses SpesialisasiMakanan (Snack)

Pada proses

spesialisasidari satu entity type

yang diketahui...

...ternyata ditemukan keperluan

untuk membuat beberapa entity types

yang lebih khusus

hanya berlaku pada makanan yang dibeli dari

pihak lain

hanya berlaku pada

makanan yang dibuat

sendiri

Page 19: Supertype & Subtypes - slametalica303.files.wordpress.com · • Pekerja Harian • ID • Nama • ... Tempat Tidur dan Dokter relasi terhadap semua Pasien relasi terhadap pasien

Proses Spesialisasi Makanan => Dibeli, Dibuat

Dari keperluan-keperluan yang ditemukan, kemudian dibentuk satu atau lebih subtype yang lebih khusus (special) dari entity type awalnya

Catatan: sebuah multivalued attribute digantikan dengan relasi ke entity lain

Page 20: Supertype & Subtypes - slametalica303.files.wordpress.com · • Pekerja Harian • ID • Nama • ... Tempat Tidur dan Dokter relasi terhadap semua Pasien relasi terhadap pasien

Completeness Constraints

• Completeness Constraints: Apakah sebuah instance dari supertype harus merupakan instance dari minimal satu subtype?

• Ya = Total Specialization Rule (double line)

• Tidak = Partial Specialization Rule (single line)

Page 21: Supertype & Subtypes - slametalica303.files.wordpress.com · • Pekerja Harian • ID • Nama • ... Tempat Tidur dan Dokter relasi terhadap semua Pasien relasi terhadap pasien

Completeness Constraints:Total Specialization Rule

pasien pasti termasuk dalam salah satu jenis, rawat inap,

atau rawat jalan

Page 22: Supertype & Subtypes - slametalica303.files.wordpress.com · • Pekerja Harian • ID • Nama • ... Tempat Tidur dan Dokter relasi terhadap semua Pasien relasi terhadap pasien

Completeness Constraints:Partial Specialization Rule

kendaraan bisa adalah Truk, atau

Mobil, atau bukan keduanya (bukan

Truk dan juga bukan Mobil)

Page 23: Supertype & Subtypes - slametalica303.files.wordpress.com · • Pekerja Harian • ID • Nama • ... Tempat Tidur dan Dokter relasi terhadap semua Pasien relasi terhadap pasien

Disjointness Constraints

• Disjointness Constraints: Apakah sebuah instance dari supertype dapat sekaligus merupakan anggota dari dua (atau lebih) subtype?

• Disjoint Rule: Sebuah instance dari supertype hanya boleh merupakan anggota dari salah satu subtype saja

• Overlap Rule: Sebuah instance dari supertype boleh sekaligus merupakan anggota dari lebih dari satu subtype

Page 24: Supertype & Subtypes - slametalica303.files.wordpress.com · • Pekerja Harian • ID • Nama • ... Tempat Tidur dan Dokter relasi terhadap semua Pasien relasi terhadap pasien

Disjointness Constraints:Disjoint Rule

pasien tidak boleh

sekaligus sebagai pasien

rawat inap dan rawat

jalan

Page 25: Supertype & Subtypes - slametalica303.files.wordpress.com · • Pekerja Harian • ID • Nama • ... Tempat Tidur dan Dokter relasi terhadap semua Pasien relasi terhadap pasien

Disjointness Constraints:Overlap Rule

suatu jenis makanan kecil dapat saja dibuat sendiri dan sekaligus dibeli dari pihak lain

Page 26: Supertype & Subtypes - slametalica303.files.wordpress.com · • Pekerja Harian • ID • Nama • ... Tempat Tidur dan Dokter relasi terhadap semua Pasien relasi terhadap pasien

Subtype Discriminators• Subtype Discriminator: Attribute pada

supertype yang membedakan termasuk dalam subtype mana entity instance yang dimaksud

• Pada Disjoint rule, berupa sebuah simple attribute dengan nilai yang menunjukkan subtype yang dimaksud

• Pada Overlap rule, berupa composite attribute yang masing-masing bagiannya menunjuk ke subtype yang berbeda. Biasanya bernilai boolean (true/false) untuk menunjukkan apakah termasuk atau tidak

Page 27: Supertype & Subtypes - slametalica303.files.wordpress.com · • Pekerja Harian • ID • Nama • ... Tempat Tidur dan Dokter relasi terhadap semua Pasien relasi terhadap pasien

Subtype Discriminator untukDisjoint Rule

sebuah simple attribute dengan

variasi nilai yang menunjukkan

subtype yang dimaksud

Page 28: Supertype & Subtypes - slametalica303.files.wordpress.com · • Pekerja Harian • ID • Nama • ... Tempat Tidur dan Dokter relasi terhadap semua Pasien relasi terhadap pasien

Subtype Discriminator untukOverlap Rule

sebuah composite attribute dengan nilai “Ya” atau “Tidak” untuk menunjukkan apakah termasuk dalam subtype yang dimaksud

Page 29: Supertype & Subtypes - slametalica303.files.wordpress.com · • Pekerja Harian • ID • Nama • ... Tempat Tidur dan Dokter relasi terhadap semua Pasien relasi terhadap pasien

Contoh Supertype/Subtype Hierarchy

attribute diletakkan pada

tingkat tertinggi

yang mungkin. Semua orang (baik Pegawai,

Alumni, maupun

Mahasiswa, baik Dosen

maupun Staff) semua memiliki

Nomor KTP

Page 30: Supertype & Subtypes - slametalica303.files.wordpress.com · • Pekerja Harian • ID • Nama • ... Tempat Tidur dan Dokter relasi terhadap semua Pasien relasi terhadap pasien

Entity Clusters

• Seringkali EER (Enhanced Entity-Relationship) Diagram sulit dibaca karena terlalu banyak entities dan relationships yang terbentuk

• Solusi: Kelompokkan entities dan relationships menjadi entity clusters

• Entity Cluster: pengelompokan satu atau lebih entity dan relationships yang terkait menjadi sebuah abstract entity type

baca halaman 169 sampai 172 pada buku Modern Database Management,

9th Edition

Page 31: Supertype & Subtypes - slametalica303.files.wordpress.com · • Pekerja Harian • ID • Nama • ... Tempat Tidur dan Dokter relasi terhadap semua Pasien relasi terhadap pasien

kompleks!

Page 32: Supertype & Subtypes - slametalica303.files.wordpress.com · • Pekerja Harian • ID • Nama • ... Tempat Tidur dan Dokter relasi terhadap semua Pasien relasi terhadap pasien

lebih mudah dibaca?

Page 33: Supertype & Subtypes - slametalica303.files.wordpress.com · • Pekerja Harian • ID • Nama • ... Tempat Tidur dan Dokter relasi terhadap semua Pasien relasi terhadap pasien

Business rules• Pernyataan yang mendefinisikan atau

membatasi beberapa aspek bisnis

• Klasifikasi aturan bisnis:

• Structural assertion - aturan yang mengungkapkan struktur statis (tetap)

• Derivation - aturan yang diturunkan dari pengetahuan lain

• Action assertion - aturan yang mengungkapkan batasan/kendali dari aspek dinamis sebuah perusahaan

Page 34: Supertype & Subtypes - slametalica303.files.wordpress.com · • Pekerja Harian • ID • Nama • ... Tempat Tidur dan Dokter relasi terhadap semua Pasien relasi terhadap pasien

Contoh Structural Assertion

• NIM adalah attribute milik Mahasiswa

• Mahasiswa dapat mengambil banyak Matakuliah, dan Matakuliah dapat diambil oleh banyak Mahasiswa

• Dosen adalah Pegawai dari Universitas

Page 35: Supertype & Subtypes - slametalica303.files.wordpress.com · • Pekerja Harian • ID • Nama • ... Tempat Tidur dan Dokter relasi terhadap semua Pasien relasi terhadap pasien

Contoh Derived Facts

• IPK = Total_Nilai/SKS_Ditempuh di mana Total_Nilai= jumlah [untuk semua matakuliah yang telah ditempuh] (SKS * Nilai_Angka)

• IPS = Total_Nilai_Semester/SKS_Semester di mana Total_Nilai_Semester= jumlah [untuk semua matakuliah yang ditempuh pada semester yang dimaksud] (SKS * Nilai_Angka)

Page 36: Supertype & Subtypes - slametalica303.files.wordpress.com · • Pekerja Harian • ID • Nama • ... Tempat Tidur dan Dokter relasi terhadap semua Pasien relasi terhadap pasien

Resricted

Page 37: Supertype & Subtypes - slametalica303.files.wordpress.com · • Pekerja Harian • ID • Nama • ... Tempat Tidur dan Dokter relasi terhadap semua Pasien relasi terhadap pasien

Upper Limit