Copyright © 2016 Ramez Elmasri and Shamkant B.
Navathe
CHAPTER 4
Enhanced Entity-Relationship
(EER) Modeling
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 1- 2
Chapter Outline
EER stands for Enhanced ER or Extended ER
EER Model Concepts
Includes all modeling concepts of basic ER
Additional concepts:
subclasses/superclasses
specialization/generalization
categories (UNION types)
attribute and relationship inheritance
Constraints on Specialization/Generalization
The additional EER concepts are used to model
applications more completely and more accurately
EER includes some object-oriented concepts, such as
inheritance
Knowledge Representation and Ontology Concepts
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 4- 3
Subclasses and Superclasses (1)
An entity type may have additional meaningful
subgroupings of its entities
Example: EMPLOYEE may be further grouped into:
SECRETARY, ENGINEER, TECHNICIAN, …
Based on the EMPLOYEE’s Job
MANAGER
EMPLOYEEs who are managers (the role they play)
SALARIED_EMPLOYEE, HOURLY_EMPLOYEE
Based on the EMPLOYEE’s method of pay
EER diagrams extend ER diagrams to represent these
additional subgroupings, called subclasses or subtypes
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 4- 4
Subclasses and Superclasses
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 4- 5
Subclasses and Superclasses (2)
Each of these subgroupings is a subset of EMPLOYEE
entities
Each is called a subclass of EMPLOYEE
EMPLOYEE is the superclass for each of these
subclasses
These are called superclass/subclass relationships:
EMPLOYEE/SECRETARY
EMPLOYEE/TECHNICIAN
EMPLOYEE/MANAGER
…
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 4- 6
Subclasses and Superclasses (3)
These are also called IS-A relationships
SECRETARY IS-A EMPLOYEE, TECHNICIAN IS-A
EMPLOYEE, ….
Note: An entity that is member of a subclass represents
the same real-world entity as some member of the
superclass:
The subclass member is the same entity in a distinct
specific role
An entity cannot exist in the database merely by being a
member of a subclass; it must also be a member of the
superclass
A member of the superclass can be optionally included as a
member of any number of its subclasses
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 4- 7
Subclasses and Superclasses (4)
Examples:
A salaried employee who is also an engineer belongs to the
two subclasses:
ENGINEER, and
SALARIED_EMPLOYEE
A salaried employee who is also an engineering manager
belongs to the three subclasses:
MANAGER,
ENGINEER, and
SALARIED_EMPLOYEE
It is not necessary that every entity in a superclass be a
member of some subclass
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 4- 8
Representing Specialization in EER
Diagrams
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 4- 9
Attribute Inheritance in Superclass /
Subclass Relationships
An entity that is member of a subclass inherits
All attributes of the entity as a member of the
superclass
All relationships of the entity as a member of the
superclass
Example:
In the previous slide, SECRETARY (as well as
TECHNICIAN and ENGINEER) inherit the
attributes Name, SSN, …, from EMPLOYEE
Every SECRETARY entity will have values for the
inherited attributes
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 4- 10
Specialization (1)
Specialization is the process of defining a set of
subclasses of a superclass
The set of subclasses is based upon some
distinguishing characteristics of the entities in the
superclass
Example: {SECRETARY, ENGINEER,
TECHNICIAN} is a specialization of EMPLOYEE
based upon job type.
Example: MANAGER is a specialization of
EMPLOYEE based on the role the employee plays
May have several specializations of the same
superclass
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 4- 11
Specialization (2)
Example: Another specialization of EMPLOYEE based on
method of pay is {SALARIED_EMPLOYEE,
HOURLY_EMPLOYEE}.
Superclass/subclass relationships and specialization can be
diagrammatically represented in EER diagrams
Attributes of a subclass are called specific or local
attributes.
For example, the attribute TypingSpeed of SECRETARY
The subclass can also participate in specific relationship
types.
For example, a relationship BELONGS_TO of
HOURLY_EMPLOYEE
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 4- 12
Specialization (3)
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 4- 13
Generalization
Generalization is the reverse of the specialization process
Several classes with common features are generalized
into a superclass;
original classes become its subclasses
Example: CAR, TRUCK generalized into VEHICLE;
both CAR, TRUCK become subclasses of the superclass
VEHICLE.
We can view {CAR, TRUCK} as a specialization of
VEHICLE
Alternatively, we can view VEHICLE as a generalization of
CAR and TRUCK
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 4- 14
Generalization (2)
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 4- 15
Constraints on Specialization and
Generalization (3)
Two basic constraints can apply to a
specialization/generalization:
Disjointness Constraint:
Completeness Constraint:
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 4- 22
Constraints on Specialization and
Generalization (4)
Disjointness Constraint:
Specifies that the subclasses of the specialization
must be disjoint:
an entity can be a member of at most one of the
subclasses of the specialization
Specified by d in EER diagram
If not disjoint, specialization is overlapping:
that is the same entity may be a member of more
than one subclass of the specialization
Specified by o in EER diagram
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 4- 23
Constraints on Specialization and
Generalization (5)
Completeness (Exhaustiveness) Constraint:
Total specifies that every entity in the superclass
must be a member of some subclass in the
specialization/generalization
Shown in EER diagrams by a double line
Partial allows an entity not to belong to any of the
subclasses
Shown in EER diagrams by a single line
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 4- 24
Constraints on Specialization and
Generalization (6)
Hence, we have four types of
specialization/generalization:
Disjoint, total
Disjoint, partial
Overlapping, total
Overlapping, partial
Note: Generalization usually is total because the
superclass is derived from the subclasses.
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 4- 25
Example of disjoint partial Specialization
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 4- 26
Example of overlapping total Specialization
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 4- 27
Specialization/Generalization Hierarchies,
Lattices & Shared Subclasses (1)
A subclass may itself have further subclasses
specified on it
forms a hierarchy or a lattice
Hierarchy has a constraint that every subclass
has only one superclass (called single
inheritance); this is basically a tree structure
In a lattice, a subclass can be subclass of more
than one superclass (called multiple
inheritance)
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 4- 28
Shared Subclass “Engineering_Manager”
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 4- 29
Specialization / Generalization Lattice
Example (UNIVERSITY)
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 4- 32
Categories (UNION TYPES) (1)
All of the superclass/subclass relationships we have seen
thus far have a single superclass
A shared subclass is a subclass in:
more than one distinct superclass/subclass relationships
each relationships has a single superclass
shared subclass leads to multiple inheritance
In some cases, we need to model a single
superclass/subclass relationship with more than one
superclass
Superclasses can represent different entity types
Such a subclass is called a category or UNION TYPE
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 4- 33
Categories (UNION TYPES) (2)
Example: In a database for vehicle registration, a vehicle
owner can be a PERSON, a BANK (holding a lien on a
vehicle) or a COMPANY.
A category (UNION type) called OWNER is created to
represent a subset of the union of the three superclasses
COMPANY, BANK, and PERSON
A category member must exist in at least one (typically
just one) of its superclasses
Difference from shared subclass, which is a:
subset of the intersection of its superclasses
shared subclass member must exist in all of its
superclasses
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 4- 34
Two categories (UNION types):
OWNER, REGISTERED_VEHICLE
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 4- 35
Summary
Introduced the EER model concepts
Class/subclass relationships
Specialization and generalization
Inheritance
Constraints on EER schemas
These augment the basic ER model concepts introduced
in Chapter 3
EER diagrams and alternative notations were presented
Knowledge Representation and Ontologies were
introduced and compared with Data Modeling
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 4- 48
Figure 9.1. The ER conceptual schema diagram for
COMPANY database
Examples from: Fundamentals of Database Systems by
Elmasri & Navathe, 7th Edition
Figure 9.2. Result of mapping the COMPANY ER schema into
a relational database schema
Examples from: Fundamentals of Database Systems by
Elmasri & Navathe, 7th Edition