Download as pdf or txt
Download as pdf or txt
You are on page 1of 30

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
n EER stands for Enhanced ER or Extended ER
n EER Model Concepts
n Includes all modeling concepts of basic ER
n Additional concepts:
n subclasses/superclasses
n specialization/generalization
n categories (UNION types)
n attribute and relationship inheritance
n Constraints on Specialization/Generalization
n The additional EER concepts are used to model
applications more completely and more accurately
n EER includes some object-oriented concepts, such as
inheritance
n Knowledge Representation and Ontology Concepts

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 4- 3


Subclasses and Superclasses (1)
n An entity type may have additional meaningful
subgroupings of its entities
n Example: EMPLOYEE may be further grouped into:
n SECRETARY, ENGINEER, TECHNICIAN, …
n Based on the EMPLOYEE’s Job
n MANAGER
n EMPLOYEEs who are managers (the role they play)
n SALARIED_EMPLOYEE, HOURLY_EMPLOYEE
n Based on the EMPLOYEE’s method of pay
n 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)
n Each of these subgroupings is a subset of EMPLOYEE
entities
n Each is called a subclass of EMPLOYEE
n EMPLOYEE is the superclass for each of these
subclasses
n These are called superclass/subclass relationships:
n EMPLOYEE/SECRETARY
n EMPLOYEE/TECHNICIAN
n EMPLOYEE/MANAGER
n …

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 4- 6


Subclasses and Superclasses (3)
n These are also called IS-A relationships
n SECRETARY IS-A EMPLOYEE, TECHNICIAN IS-A
EMPLOYEE, ….
n Note: An entity that is member of a subclass represents
the same real-world entity as some member of the
superclass:
n The subclass member is the same entity in a distinct
specific role
n An entity cannot exist in the database merely by being a
member of a subclass; it must also be a member of the
superclass
n 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)
n Examples:
n A salaried employee who is also an engineer belongs to the
two subclasses:
n ENGINEER, and
n SALARIED_EMPLOYEE
n A salaried employee who is also an engineering manager
belongs to the three subclasses:
n MANAGER,
n ENGINEER, and
n SALARIED_EMPLOYEE
n 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
n An entity that is member of a subclass inherits
n All attributes of the entity as a member of the
superclass
n All relationships of the entity as a member of the
superclass
n Example:
n In the previous slide, SECRETARY (as well as
TECHNICIAN and ENGINEER) inherit the
attributes Name, SSN, …, from EMPLOYEE
n Every SECRETARY entity will have values for the
inherited attributes

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 4- 10


Specialization (1)
n Specialization is the process of defining a set of
subclasses of a superclass
n The set of subclasses is based upon some
distinguishing characteristics of the entities in the
superclass
n Example: {SECRETARY, ENGINEER,
TECHNICIAN} is a specialization of EMPLOYEE
based upon job type.
n Example: MANAGER is a specialization of
EMPLOYEE based on the role the employee plays
n May have several specializations of the same
superclass
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 4- 11
Specialization (2)
n Example: Another specialization of EMPLOYEE based on
method of pay is {SALARIED_EMPLOYEE,
HOURLY_EMPLOYEE}.
n Superclass/subclass relationships and specialization can be
diagrammatically represented in EER diagrams
n Attributes of a subclass are called specific or local attributes.
n For example, the attribute TypingSpeed of SECRETARY
n The subclass can also participate in specific relationship
types.
n 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
n Generalization is the reverse of the specialization process
n Several classes with common features are generalized
into a superclass;
n original classes become its subclasses
n Example: CAR, TRUCK generalized into VEHICLE;
n both CAR, TRUCK become subclasses of the superclass
VEHICLE.
n We can view {CAR, TRUCK} as a specialization of
VEHICLE
n 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


Generalization and Specialization (1)
n Diagrammatic notations are sometimes used to
distinguish between generalization and
specialization
n Arrow pointing to the generalized superclass
represents a generalization
n Arrows pointing to the specialized subclasses
represent a specialization
n We do not use this notation because it is often
subjective as to which process is more appropriate
for a particular situation
n We advocate not drawing any arrows

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 4- 16


Generalization and Specialization (2)

n Data Modeling with Specialization and


Generalization
n A superclass or subclass represents a collection
(or set or grouping) of entities
n It also represents a particular type of entity
n Shown in rectangles in EER diagrams (as are
entity types)
n We can call all entity types (and their
corresponding collections) classes, whether they
are entity types, superclasses, or subclasses

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 4- 17


Types of Specialization
n Predicate-defined ( or condition-defined) : based
on some predicate. E.g., based on value of an
attribute, say, Job-type, or Age.
n Attribute-defined: shows the name of the attribute
next to the line drawn from the superclass toward
the subclasses (see Fig. 4.1)
n User-defined: membership is defined by the user
on an entity by entity basis

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 4- 18


Constraints on Specialization and
Generalization (1)

n If we can determine exactly those entities that will


become members of each subclass by a
condition, the subclasses are called predicate-
defined (or condition-defined) subclasses
n Condition is a constraint that determines subclass
members
n Display a predicate-defined subclass by writing the
predicate condition next to the line attaching the
subclass to its superclass

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 4- 19


Constraints on Specialization and
Generalization (2)
n If all subclasses in a specialization have membership
condition on same attribute of the superclass,
specialization is called an attribute-defined specialization
n Attribute is called the defining attribute of the specialization
n Example: JobType is the defining attribute of the
specialization {SECRETARY, TECHNICIAN, ENGINEER} of
EMPLOYEE
n If no condition determines membership, the subclass is
called user-defined
n Membership in a subclass is determined by the database
users by applying an operation to add an entity to the
subclass
n Membership in the subclass is specified individually for each
entity in the superclass by the user

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 4- 20


Displaying an attribute-defined
specialization in EER diagrams

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 4- 21


Constraints on Specialization and
Generalization (3)

n Two basic constraints can apply to a


specialization/generalization:
n Disjointness Constraint:
n Completeness Constraint:

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 4- 22


Constraints on Specialization and
Generalization (4)

n Disjointness Constraint:
n Specifies that the subclasses of the specialization
must be disjoint:
n an entity can be a member of at most one of the
subclasses of the specialization
n Specified by d in EER diagram
n If not disjoint, specialization is overlapping:
n that is the same entity may be a member of more
than one subclass of the specialization
n Specified by o in EER diagram

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 4- 23


Constraints on Specialization and
Generalization (5)

n Completeness (Exhaustiveness) Constraint:


n Total specifies that every entity in the superclass
must be a member of some subclass in the
specialization/generalization
n Shown in EER diagrams by a double line
n Partial allows an entity not to belong to any of the
subclasses
n 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)

n Hence, we have four types of


specialization/generalization:
n Disjoint, total
n Disjoint, partial
n Overlapping, total
n Overlapping, partial
n 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


Shared Subclass “Engineering_Manager”

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 4- 28


Specialization / Generalization Lattice
Example (UNIVERSITY)

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 4- 29


Ontologies
n Use conceptual modeling and other tools to
develop “a specification of a conceptualization”
n Specification refers to the language and
vocabulary (data model concepts) used
n Conceptualization refers to the description
(schema) of the concepts of a particular field of
knowledge and the relationships among these
concepts
n Many medical, scientific, and engineering
ontologies are being developed as a means of
standardizing concepts and terminology

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 4- 30

You might also like