Enhanced Entity Relationship Modelling

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 29

Enhanced Entity Relationship Modelling

 EER Model Concepts


 Includes all basic ER modeling concepts

 Additional concepts:

 subclasses/superclasses

 specialization/generalization

 IS-A relationships

 categories (Union types)


 attribute and relationship inheritance
 These are fundamental to conceptual modeling

 The additional EER concepts are used to model applications more completely
and more accurately
 EER includes some object-oriented concepts, such as inheritance

1
Subclasses and Superclasses

 An entity type may have additional meaningful subgroupings of its


entities
 Figure 4.1: EMPLOYEE may be further grouped into:

 SECRETARY, ENGINEER, TECHNICIAN, …

 Based on the EMPLOYEE’s Job


 MANAGER
 Some EMPLOYEEs are managers
 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

2
Subclasses and Superclasses

3
Subclasses and Superclasses

 Each of these subgroupings is a subset of EMPLOYEE entities


 A secretary is an employee

 A technician is an employee

 A manager is an employee

 Each is called a subclass of EMPLOYEE


 EMPLOYEE is the superclass for each of these subclasses
 These are called superclass/subclass (or class/subclass) relationships:
 EMPLOYEE/SECRETARY

 EMPLOYEE/TECHNICIAN What’s the cardinality?


 EMPLOYEE/MANAGER

 …

4
Subclasses and Superclasses

 The class/subclass relationship is also called an IS-A relationship


 SECRETARY IS-A EMPLOYEE, TECHNICIAN IS-A

EMPLOYEE, ….
 An entity cannot exist in the database merely by being a

member of a subclass; it must also be a member of the


superclass

5
Subclasses and Superclasses

 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

6
Subclasses and Superclasses

 If the relationship is not Total, then it is not necessary that every entity in a
superclass be a member of some subclass
 If the relationship is Total, then every entity in a superclass must be a member
of some subclass

Superclass Superclass

Sub1 Sub2 Sub1 Sub2

optional Total, or mandatory

7
Representing Specialization in EER Diagrams

8
Inheritance in Class / 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

9
Specialization

 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 is also used to refer to a collection of subclasses

10
Specialization

 Example: Another specialization of EMPLOYEE based on method


of pay is {SALARIED_EMPLOYEE, HOURLY_EMPLOYEE}.
 class/subclass relationships can be 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

11
Specialization

12
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


 The term Generalization is also used to refer to the superclass

13
Generalization

14
Classes

 We call all entity types (and their corresponding collections)


classes, whether they are entity types, superclasses, or subclasses

15
Membership Constraint

 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

 We can display a predicate-defined subclass by writing the


predicate condition next to the line attaching the subclass to its
superclass

16
Membership Constraint

 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
 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

17
Membership Constraint

18
Disjointness Constraint

 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

19
Completeness Constraint

 Completeness Constraint:
 Total (mandatory) 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 (optional) allows an entity not to belong to any of the

subclasses
 Shown in EER diagrams by a single line

20
Example of disjoint partial Specialization

21
Example of overlapping total Specialization

22
Specialization/Generalization Hierarchies, Lattices, 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); this is basically a tree
structure
 In a lattice, a subclass can be subclass of more than one superclass
(called multiple inheritance)

23
Shared Subclass “Engineering_Manager”

24
Specialization/Generalization Hierarchies, Lattices & Shared
Subclasses

 In a lattice or hierarchy, a subclass inherits attributes not only of its direct


superclass, but also of all its predecessor superclasses
 A subclass with more than one superclass is called a shared subclass (multiple
inheritance)

25
Lattice Example (UNIVERSITY)

26
Categories (Union Types)

 The superclass/subclass relationships we have seen so 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

27
Categories

 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 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 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

28
Two categories: OWNER, REGISTERED_VEHICLE

29

You might also like