Enhanced Entity-Relationship Model
Objectives
2
In this class, student will learn: Limitations of basic concepts of the ER model and requirements to represent more complex applications using additional data modeling concepts.
Most useful additional data modeling concepts of Enhanced
ER (EER) model called: specialization/generalization aggregation composition. A diagrammatic technique for displaying specialization/generalization, aggregation, and composition in an EER diagram using UML.
Enhanced Entity-Relationship Model
3
Since 1980s there has been an increase in
emergence of new database applications with more demanding requirements.
Basic concepts of ER modeling are not
sufficient to represent requirements of newer, more complex applications. semantic modeling concepts.
Response is development of additional
The Enhanced Entity-Relationship Model
Semantic concepts are incorporated into the
original ER model and called the Enhanced Entity-Relationship (EER) model. are:
Examples of additional concepts of EER model
specialization / generalization aggregation composition
Specialization / Generalization
Superclass/supertype
An entity type that includes one or more distinct subgroupings of its occurrences.
Subclass/subtype
A distinct subgrouping of occurrences of an entity type.
Generalization Hierarchies
6
generalization hierarchy symbol
Employee EmpNo EmpName EmpHireDate ...
supertype
SalaryEmp EmpSalary
subtypes
HourlyEmp EmpRate
Specialization / Generalization
Superclass/subclass relationship is
one-to-one (1:1).
Superclass may contain overlapping
or distinct subclasses.
Not all members of a superclass need
be a member of a subclass.
Specialization / Generalization
Attribute Inheritance An entity in a subclass represents same real world object as in superclass, and may possess subclass-specific attributes, as well as those associated with the superclass.
Specialization / Generalization
Specialization Process of maximizing differences between members of an entity by identifying their distinguishing characteristics. Generalization Process of minimizing differences between entities by identifying their common characteristics.
AllStaff relation holding details of all staff
Specialization/generalization of Staff entity into subclasses representing job roles
Specialization/generalization of Staff entity into job roles and contracts of employment
EER diagram with shared subclass and subclass with its own subclass
Constraints on Specialization / Generalization
Two constraints that may apply to a
specialization/generalization:
participation constraints disjoint constraints.
Participation constraint Determines whether every member in superclass must participate as a member of a subclass. May be mandatory or optional.
Constraints on Specialization / Generalization
Disjoint constraint
Describes relationship between members of the subclasses and indicates whether member of a superclass can be a member of one, or more than one, subclass. May be disjoint or nondisjoint.
Constraints on Specialization / Generalization
There are four categories of constraints of
specialization and generalization:
mandatory and disjoint optional and disjoint mandatory and nondisjoint optional and nondisjoint.
DreamHome worked example - Staff Superclass with Supervisor and Manager subclasses
DreamHome worked example - Owner Superclass with PrivateOwner and BusinessOwner subclasses
DreamHome worked example - Person superclass with Staff, PrivateOwner, and Client subclasses
EER diagram of Branch view of DreamHome with specialization/generalization
Aggregation
Represents a has-a or is-part-of relationship
between entity types, where one represents the whole and the other the part.
Examples of Aggregation
Aggregation
23
Sale
SaleDate Employee
Item * contains * Description
Cost
Aggregation: the Sale consists of a set of Items being sold.
Composition
Specific form of aggregation that represents an
association between entities, where there is a strong ownership and coincidental lifetime between the whole and the part.
Example of Composition
Composition
Bicycle
Size Model Type 26
Bicycle 1 built from 2 1 1 1 Wheels
Rims Spokes
Size Model Type
Crank
ItemID Weight
Wheels
Crank
Two ways to display composition.
Stem
ItemID Weight Size
Stem
Composition: aggregation where the components become the new object.
27
Enhanced Entity-Relationship Model
End of Presentation