superclass/subclass

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe
Slide 4- 1
Chapter 4
Enhanced Entity-Relationship
(EER) Modeling
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe
Chapter Outline


EER adalah Enhanced ER or Extended ER
Konsep EER Model


Memuat semua konsep ER standar
Koncept-konsep tambahan dalam EER :





subclasses/superclasses
specialization/generalization
attribute and relationship inheritance
categories (UNION types)
Konsep-konsep tambahan dalam EER digunakan untuk
memodelkan aplikasi dengan lebih komplit & akurat

EER menerapkan sebagian konsep object-oriented, seperti
inheritance(pewarisan)
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe
Slide 4- 3
Subclasses & Superclasses (1)

Sebuah entitas bisa memiliki sub-grup entitas didalamnya

Contoh : EPLOYEE bisa di-grup-kan menjadi :


SECRETARY, ENGINEER, TECHNICIAN
 Grup yang berdasarkan pada jenis pekerjaan
EMPLOYEE
SALARIED_EMPLOYEE, HOURLY_EMPLOYEE


MANAGER



Grup yang berdasarkan pada metode pembayaran EMPLOYEE
EMPLOYEE yang juga sebagai MANAGER
EER diagram memperluas ER diagram untuk
menampilkan sub-grup entitas tersebut
Sub-grup entitas ini kemudian disebut subclasses atau
subtypes
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe
Slide 4- 4
Subclasses & Superclasses
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe
Slide 4- 5
Subclasses & Superclasses (2)




Setiap sub-grup entitas adalah bagian/subset dari entitas
EMPLOYEE
Sub-grup entitas disebut subclass dari entitas
EMPLOYEE
EMPLOYEE adalah superclass dari setiap subclass
tersebut
Berikit adalah hubungan/relasi superclass/subclass :




EMPLOYEE/SECRETARY
EMPLOYEE/TECHNICIAN
EMPLOYEE/MANAGER
…
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe
Slide 4- 6
Subclasses and Superclasses (3)

Relasi superclass/subclass juga disebut relasi IS-A



SECRETARY IS-A EMPLOYEE
TECHNICIAN IS-A EMPLOYEE, ….
Note: entitas yang menjadi subclass merupakan
representasi dari entitas di dunia nyata :



Entitas dari subclass adalah entitas yang mirip satu sama
lain, namun dengan karakteristik yang spesifik
Entitas dari subclass tidak dapat muncul di database tanpa
berelasi dengan superclass-nya
Entitas superclass bisa masuk dalam Entitas subclass-nya
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe
Slide 4- 7
Subclasses and Superclasses (4)

Example :

Seorang salaried_employee yang juga merupakan engineer
berada di dalam dua subclass:



ENGINEER, and
SALARIED_EMPLOYEE
Seorang salaried_employee yang juga merupakan seorang
engineering manager berada di dalam tiga subclass:



MANAGER,
ENGINEER, and
SALARIED_EMPLOYEE
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe
Slide 4- 8
Representing Specialization in EER
Diagrams
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe
Slide 4- 9
Attribute Inheritance in Superclass /
Subclass Relationships

Entity yang menjadi subclass mewarisi/inherits



Semua atribut dari entitas superclass-nya
Semua relasi dari entitas superclass-nya
Example:


Dari slide sebelumnya, SECRETARY
(sebagaimana TECHNICIAN and ENGINEER)
mewarisi/inherit attribute Name, SSN, …, from
EMPLOYEE
Setiap entitas SECRETARY mendapat value/data
dari inherited attributes/atribut warisan
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe
Slide 4- 10
Specialization (1)


Specialization adalah proses membentuk subclass
dari superclass
Entitas pada subclass pada dasarnya adalah
entitas superclass yang berkarakter khusus/spesific

Example: {SECRETARY, ENGINEER,
TECHNICIAN} adalan specialization dari
EMPLOYEE berdasarkan pada
job_type/tipe_pekerjaan.

Superclass yang sama bisa memiliki beberapa
specializations
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe
Slide 4- 11
Specialization (2)

Example: Specialization yang lain dari EMPLOYEE
berdasarkan pada method of pay adalah
{SALARIED_EMPLOYEE, HOURLY_EMPLOYEE}.


Superclass/subclass relationships dan specialization
direpresentasikan dalam diagram in EER diagrams
Attributes dari subclass disebut specific attributes or
local attributes.


example, attribute TypingSpeed dari SECRETARY
Subclass juga dapat memiliki relasi.

example, relationship BELONGS_TO dari
HOURLY_EMPLOYEE
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe
Slide 4- 12
Specialization (3)
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe
Slide 4- 13
Generalization


Generalization adalah kebalikan dari proses specialization
Beberapa class dengan fitur yang sama dapat digeneralized menjadi sebuah superclass;


Example: CAR, TRUCK generalized menjadi VEHICLE;


Class berfitur sama tsb ahirnya menjadi subclass
CAR & TRUCK menjadi subclass dari superclass VEHICLE.
Perspektif lain :


Kita dapat memandang {CAR, TRUCK} sebagai
specialization dari VEHICLE
Sebaliknya, kita dapat memandang VEHICLE sebagai
generalization dari CAR and TRUCK
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe
Slide 4- 14
Generalization (2)
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe
Slide 4- 15
Generalization and Specialization (1)

Notasi Diagram dapat digunakan untuk
membedakan generalization and specialization

Panah mengarah ke generalized superclass
merepresentasikan generalization
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe
Slide 4- 16
Generalization and Specialization (2)

Notasi Diagram dapat digunakan untuk
membedakan generalization and specialization

Panah mengarah ke specialized subclasses
merepresentasikan specialization
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe
Slide 4- 17
Constraints on Specialization and
Generalization (1)

Dua constraint dasar dapat diaplikasikan dalam
specialization/generalization:


Disjointness Constraint:
Completeness Constraint:
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe
Slide 4- 22
Constraints on Specialization and
Generalization (2)

Disjointness Constraint:

disjoint:



Entitas Instan dari superclass hanya bisa muncul
pada satu subclass-nya
Disimbolkan dengan d dalam EER diagram
overlapping:


Entitas Instan dari superclass boleh muncul pada
lebih dari satu subclass-nya
Disimbolkan dengan o dalam EER diagram
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe
Slide 4- 23
Constraints on Specialization and
Generalization (3)

Completeness Constraint:

Total mewajibkan semua entitas instan pada
superclass harus menjadi anggota pada beberapa
subclass-nya


Tersimbol di EER diagram dengan double line
Partial mengijinkan sebuah entitas instan untuk
tidak berada pada satupun subclass-nya

Tersimbol di EER diagrams dengan single line
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe
Slide 4- 24
Constraints on Specialization and
Generalization (4)

Jadi, constraint pada
specialization/generalization:





Disjoint, total
Disjoint, partial
Overlapping, total
Overlapping, partial
Note: Generalization biasanya total karena
superclass-nya derived/ditarik dari subclass subclass.
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe
Slide 4- 25
Example of disjoint partial Specialization
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe
Slide 4- 26
Example of overlapping total Specialization
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe
Slide 4- 27
Specialization/Generalization Hierarchies,
Lattices & Shared Subclasses (1)

Subclass boleh memiliki subclass lagi di
dalamnya


Hierarchy memiliki constraint, setiap subclass
harus mengarah ke satu superclass (single
inheritance)


Membangun sebuah hierarchy or sebuah lattice
tree structure/berstruktur pohon
Lattice, subclass boleh menjadi subclass dari
banyak superclass (multiple inheritance)
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe
Slide 4- 28
Shared Subclass “Engineering_Manager”
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe
Slide 4- 29
Specialization/Generalization Hierarchies,
Lattices & Shared Subclasses (2)



Dalam lattice or hierarchy, a subclass inherits/mewarisi
attributes tidak hanya pada superclass terdekatnya, tapi
juga pada superclasses leluhurnya
Subclass dengan lebih dari satu superclass disebut
shared subclass (multiple inheritance)
Macam-macamnya :



specialization hierarchies or lattices, or
generalization hierarchies or lattices,
Tergantung pada bagaimana mereka di-derived/ditarik
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe
Slide 4- 30
Specialization / Generalization Lattice
Example (UNIVERSITY)
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe
Slide 4- 32
Summary

Introduced the EER model concepts



Class/subclass relationships
Specialization and generalization
Inheritance
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe
Slide 4- 45