3 EER - Model

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

BITS, PILANI – K. K.

BIRLA GOA CAMPUS

Database Systems and


Applications
(CS F212)
by

Dr. Shubhangi
Dept. of CS and IS

2/6/2023 BITS, PILANI – K. K. BIRLA GOA CAMPUS 1


Chapter 3: Enhanced Entity-
Relationship Model
PROBLEM with ER notation

THE ENTITY RELATIONSHIP MODEL IN ITS


ORIGINAL FORM DID NOT SUPPORT THE
SPECIALIZATION/ GENERALIZATION.

3
Extended Entity-Relationship (EER)
Model
• Incorporates Set-subset relationships
• Incorporates Specialization/Generalization Hierarchies

4
Symbols used in ER diagram
Symbols used in ER diagram
Enhanced Entity-Relationship
Model
Consider following relations
Stuid name addr dob degree second dept Ps Ps
type degree stn durn

Empno name addr dob doj post Typing Tech Engg


speed grade type
Enhanced-ER (EER) Model Concepts
• Includes all modeling concepts of basic ER
• Additional concepts: subclasses/superclasses,
specialization/generalization, categories,
attribute inheritance
• The resulting model is called the enhanced-ER
or Extended ER (E2R or EER) model
• It is used to model applications more
completely and accurately if needed
• It includes some object-oriented concepts,
such as inheritance
Subclasses and Superclasses (1)
• An entity type may have additional meaningful
sub groupings of its entities
• Example: EMPLOYEE may be further grouped into
SECRETARY, ENGINEER, MANAGER, TECHNICIAN,
SALARIED_EMPLOYEE, HOURLY_EMPLOYEE,…
– Each of these groupings 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.
• Example: EMPLOYEE/SECRETARY,
EMPLOYEE/TECHNICIAN
Subclasses and Superclasses (2)
• 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
• Example: A salaried employee who is also an
engineer belongs to the two subclasses ENGINEER
and SALARIED_EMPLOYEE
– It is not necessary that every entity in a superclass be a
member of some subclass
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
• It also inherits all relationships
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.
– May have several specializations of the same superclass
Specialization
• Example: Another specialization of EMPLOYEE based in
method of pay is {SALARIED_EMPLOYEE,
HOURLY_EMPLOYEE}.
– Superclass/subclass relationships and specialization
can be diagrammatically represented in EER diagrams
as inverted triangle. ISA

– Attributes of a subclass are called specific attributes.


For example, TypingSpeed of SECRETARY
– The subclass can participate in specific relationship
types. For example, BELONGS_TO of
HOURLY_EMPLOYEE
Example of a
Specialization
SPECIALIZATION
Generalization
• 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
GENERALIZATION
Generalization and Specialization
• Diagrammatic notation sometimes used to
distinguish between generalization and
specialization
– Arrow pointing to the generalized superclass
represents a generalization
– Arrows pointing to the specialized subclasses
represent a specialization
– We do not use this notation because it is often
subjective as to which process is more
appropriate for a particular situation
– We advocate not drawing any arrows in these
situations
Generalization and Specialization

• Data Modeling with Specialization


and Generalization
–A superclass or subclass represents a
set of entities shown in rectangles in
EER diagrams (as are entity types)
–Sometimes, all entity sets are simply
called classes, whether they are entity
types, superclasses, or subclasses
Constraints on Specialization and
Generalization
• 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
– Condition is a constraint that determines subclass
members
– Display a predicate-defined subclass by writing the
predicate condition next to the line attaching the
subclass to its superclass
Constraints on specialization and
generalization
Constraints on Specialization and
Generalization
• If all subclasses in a specialization have
membership condition on same attribute
of the superclass, specialization is called
an attribute defined-specialization
– Attribute is called the defining attribute of
the specialization
– Example: JobType is the defining attribute
of the specialization {SECRETARY,
TECHNICIAN, ENGINEER} of EMPLOYEE
Constraints on Specialization and
Generalization
• If no condition determines membership,
the subclass is called user-defined
– Membership in a subclass is determined by
the database users by applying an operation
to add an entity to the subclass
– Membership in the subclass is specified
individually for each entity in the superclass
by the user
Constraints on Specialization and
Generalization
• Two other conditions apply to a specialization/generalization:
• Disjointness Constraint:
– Specifies that the subclasses of the specialization must be
disjointed (an entity can be a member of at most one of the
subclasses of the specialization)
– Specified by d in EER diagram
– If not disjointed, overlap; that is the same entity may be a
member of more than one subclass of the specialization
– Specified by o in EER diagram
Constraints on Specialization and
Generalization
• Completeness 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
Constraints on Specialization and
Generalization (3)
• 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.
Example of disjoint partial Specialization

Slide 4- 28
Example of overlapping total Specialization

Slide 4- 29
Specialization / Generalization Hierarchies,
Lattices and Shared Subclasses
• 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)
• In a lattice, a subclass can be subclass of more
than one superclass (called multiple
inheritance)
• In a lattice or hierarchy, a subclass inherits
attributes not only of its direct superclass, but
also of all its predecessor superclasses
Specialization / Generalization Hierarchies,
Lattices and Shared Subclasses
• A subclass with more than one superclass is called a
shared subclass
• Can have specialization hierarchies or lattices, or
generalization hierarchies or lattices
• In specialization, start with an entity type and then
define subclasses of the entity type by successive
specialization (top down conceptual refinement
process)
• In generalization, start with many entity types and
generalize those that have common properties
(bottom up conceptual synthesis process)
• In practice, the combination of two processes is
employed
Shared Subclass
“Engineering_Manager”

Slide 4- 32
Specialization /
Generalization
Lattice Example
(UNIVERSITY)
Categories (UNION TYPES)
• All of the superclass/subclass relationships we
have seen thus far have a single superclass
• A shared subclass is subclass in more than one
distinct superclass/subclass relationships,
where each relationships has a single
superclass (multiple inheritance)
• In some cases, need to model a single
superclass/subclass relationship with more
than one superclass
• Superclasses represent different entity types
Categories (UNION TYPES)
• Such a subclass is called a category or UNION
TYPE
• Example: Database for vehicle registration,
vehicle owner can be a person, a bank
(holding a lien on a vehicle) or a company.
– Category (subclass) OWNER is a subset of
the union of the three superclasses
COMPANY, BANK, and PERSON
– A category member must exist in at least
one of its superclasses
• Note: The difference from shared subclass,
which is subset of the intersection of its
superclasses (shared subclass member must
exist in all of its superclasses).
Example of categories
(UNION TYPES)
ER AND EER MODELLING
• Design an Enhanced entity relationship diagram that models the
following objects and relationships in the world of football (NFL):
teams, players, games, managers and contracts.
• Each NFL team has a unique team name and a city it plays in.
• Each person being part of NFL world has a unique id and name.
• Additionally, for players their weight, height, position and birth
dates are of importance.
• Players have a contract with at most one team and receive a salary
for their services, and teams have at least 24 and at most 99 players
under contract.
• Each team has one to three managers; manager can work for at
most 4 teams and receive a salary for each of their employments.
• Players cannot be managers.
• A game involves a home-team and a visiting team; additionally, the
day of the game, and the score of the game are of importance;
teams play with each other several times in a season(not on same
day).
• Moreover, for each game played we like to know which players
participated in the game and how many minutes they played.
• A General Hospital consists of a number of specialized departments (such as
Maternity, Paediatric, Oncology, etc).
• Each department hosts a number of patients, who are admitted on the
recommendation of doctors employed by hospital.
• There are 10 doctors, 3 nurses and 5 ward boys. Each staff has unique staff id.
• Doctors are specialists in some branch of medicine. Permanent doctors get fixed
salary. Personal information like name, address, date of birth, etc. required.
• Consulting doctors visits at fixed time every day. Information like name, contact
number, specialization, charges etc are required.
• On admission, the personal details of every patient like name, address, relative’s
name and address, patient’s blood group, reason of admission, etc are recorded.
• Patients are admitted to rooms of different types, per day charges depend on room
type.
• Various labs in hospital, where several tests are conducted on patient. Each test has
fixed charges.
• A separate register is to be held to store the information of the tests undertaken
and the results of a prescribed treatment. A number of tests may be conducted for
each patient.
• Draw an extended E-R diagram for the system.

You might also like