Title: Enhanced EntityRelationship and Object Modeling
1Chapter 4
- Enhanced Entity-Relationship and Object Modeling
4.1 Subclasses, Superclasses, and Inheritance4.2
Specialization and Generalization4.3 Constraints
and Characteristics of Specialization and
Generalization4.4 Modeling of UNION Types Using
Categories4.5 An Example UNIVERSITY EER Schema
and Formal Definitions for the EER
Model4.6 Conceptual Object Modeling Using UML
Class Diagrams4.7 Relationship Types of Degree
Higher Than Two 4.8 Data Abstraction and
Knowledge Representation Concepts4.9 Summary
2database applications
- traditional
- database processing applications in business and
industry - newer applications
- CAD/CAM
- telecommunications
- images and graphics
- multimedia
- data mining
- data warehousing
- GIS
- databases for indexing the World Wide Web
- ...
3Enhanced ER (EER) model
- modeling concepts of the ER model
- subclass and superclass (type inheritance)
- specialization and generalization (constraints)
- category (UNION)
- attribute and relationship inheritance
- UNIVERSITY database in EER model
4subclass
attributes relationships
- entity type (a type of entity)
- e.g., EMPLOYEE
- entity set (collection of entities of that type)
- e.g., current set of EMPLOYEE entities
- subclass (vs superclass)
- e.g., SECRETARY, ENGINEER, TECHNICIAN, MANAGER,
SALARIED_EMPLOYEE, HOURLY_EMPLOYEE - class/subclass relationship
- e.g., EMPLOYEE/SECRETARY
?An entity must also be a member of the
superclass?An entity can be a member of any
number of subclasses?It is not necessary that
every entity in a superclass be a member
of some subclasses.
5subclass (continued)
- Implementation
- A member entity of the subclass represents the
same real-world entity as some member of the
superclass the same entity but in
specific role - A distinct record that is related via the key
attribute to its superclass entity - type inheritance Besides specific (or local)
attributes
and relationships, - An entity that is a member of a subclass inherits
all the attributes of the entity as a member of
the superclass - The entity also inherits all the relationships in
which the superclass participates
6Specialization and Generalization
- specialization
- define a set of subclasses of an entity type
- SECRETARY, ENGINEER, TECHNICIAN is a
specialization of EMPLOYEE by job type - SALARIED_EMPLOYEE, HOURLY_EMPLOYEE is a
specialization of EMPLOYEE by method of pay - notation in EER diagram
superclass
7Figure 4.1 EER diagram for representing
specialization an d subclasses.
FName
Minit
LName
Name
Ssn
BirthDate
Address
EMPLOYEE
completeness constraint total specialization
completeness constraint partial specialization
subsetsymbol
disjointness constraint
disjointness constraint
specific disjoint attributes
subsetsymbol
d
specific (local) attributes
d
subsetsymbol
Typing Speed
TGrade
EngType
Pay Scale
SECRETARY
TECHNICIAN
ENGINEER
MANAGER
Salary
HOURLY_EMPLOYEE
SALARIED_EMPLOYEE
MANAGES
BELONGS_TO
specific relationship
specific relationship
Three specializations of EMPLOYEE (SECRETARY,
TECHNICIAN, ENGINEER) (MANAGER) (HOURLY_EMPLOYEE,
SALARIED_EMPLOYEE)
PROJECT
TRADE_UNION
8SECRETARY
. . . . . . .
e e e e e e e
1 4 5 2 7 3 8
EMPLOYEE
. . . . . . . .
e e e e e e e e
1 2 3 4 5 6 7 8
ENGINEER
TECHNICIAN
Figure 4.2 Some instances of the spcialization
of EMPLOYEE into the
SECRERARY, ENGINEER, TECHNICIAN
set of subclasses.
superclass/subclass relationship
11 relationshipat the instance level
same entity in specialized role
9Why including class/subclass relationships?
- Certain attributes may apply to some but not all
entities of the superclass - SECRETARY (attribute TypingSpeed)
- ENGINEER (attribute EngineerType)
- Some relationship types may be participated in
only by entities that are members of the subclass - HOURLY_EMPLOYEE belongs to a trade union
??
10Specialization process
- Define a set of subclasses of an entity type
- Establish additional specific attributes with
each class - Establish additional specific relationship types
between subclass and other entity types or other
subclasses
11Generalization
- Define a generalized entity type from the given
entity types - CAR, TRUCK as a specialization of VEHICLE
- VEHICLE as a generalization of CAR and TRUCK
subclass
generalized superclass
alternativegeneralization
VEHICLE
VEHICLE
specialization
CAR
TRUCK
CAR
TRUCK
12(a)
NoOfPassengers
NoOfAxles
Price
Price
MaxSpeed
Tonnage
CAR
TRUCK
Vehicleld
Vehicleld
LicensePlateNO
LicensePlateNo
LicensePlateNO
(b)
Price
Vehicleld
v1 v2v3v4v5v6v7
VEHICLE
v1v2v3v4v5
d
NoOfPassengers
NoOfAxles
MaxSpeed
Tonnage
CAR
TRUCK
v3 v3v4 v4v5 v5
v1 v1v2 v2
Figure 4.3 Examples of generalization. (a) Two
entity types CAR and TRUCK. (b) Generalizing
CAR and TRUCK into VEHICLE.
13Constraints onSpecialization and Generalization
- single subclass only
- MANAGER specification
- predicate-defined subclasses
- determined by a condition
- (JobType Secretary) lt--- defining predicate
- attribute-defined specialization (see
Figure 4.4 at 4-14) - membership condition on the same attribute of the
superclass (defining attribute) - user-defined subclass
- determined by the database users
- HOURLY_EMPLOYEE, SALARIED_EMPLOYEE
EMPLOYEE
MANAGER
(condition-defined)
Membership is specified individually for each
entity.
14FName
Minit
LName
Name
Ssn
BirthDate
Address
JobType
EMPLOYEE
defining attribute
Job Type
d
predicate condition
Secretary
Engineer
Typing Speed
TGrade
EngType
Technician
SECRETARY
TECHNICIAN
ENGINEER
Figure 4.4 Attribute-defined specialization on
the JobType attribute of EMPLOYEE
15Constraints (continued)
- disjointness constraint
- an entity can be a member of at most one of the
subclasses of the specialization - attribute-defined specialization --gt defining
attribute is singled-valued - d disjoint for attribute/user-defined subclass
- o an entity may be a member of more than one
subclass of a specialization
16PartNo
Description
PART
overlap
o
ManufactureDate
SupplierName
DrawingNo
BatchNo
ListPrice
MANUFACTURED_PART
PURCHASED_PART
Figure 4.5 Specialization with nondisjoint
(overlapping) subclasses.
17Constraints (continued)
- completeness constraint (4-7)
- total specialization constraint
- every entity in the superclass must be a member
of some subclass in the specialization - e.g., HOURLY_EMPLOYEE, SALARIED_EMPLOYEE
- notation superclass
- partial specialization constraint
- an entity may not belong to any of the subclasses
- e.g., SECRETARY, ENGINEER, TECHNICIAN
18Constraints (continued)
- disjointness and completeness constraints are
independent - Disjoint, total
- Disjoint, partial
- Overlapping, total
- Overlapping, partial
- a superclass identified through generalization
process usually is total
19Some insertion/deletion rules for
specialization/generalization
- Deleting an entity from a superclass
- it is automatically deleted from all the
subclasses to which it belongs - Inserting an entity in a superclass
- it is mandatorily inserted in all
predicate-defined (or attribute-defined)
subclasses for which it satisfies the defining
predicate - Inserting an entity in a superclass of a total
specialization - it is mandatorily inserted in at lease one of
subclasses
20Specialization/Generalization Hierarchies and
Lattices
- A subclass itself may have further subclasses
specified on it. - Specialization hierarchy
- every subclass participates as a subclass in only
one class/subclass relationship - Specialization lattice
- a subclass can be a subclass in more than one
class/subclass relationship
21Figure 4.6 Specialization lattice with the
shared subclass EMGINEERING_MANAGER..
EMPLOYEE
e1e2e3e4e5e6e7e8e9e10
d
d
SECRETARY
TECHNICIAN
ENGINEER
MANAGER
HOURLY_EMPLOYEE
e1e2
e3e4
e5e6e7e8
e8e9
SALARIED_EMPLOYEE
e1e2e3e4e5
e6e7e8e9e10
lattice
ENGINEERING_MANAGER
shared subclass multiple inheritance
e8
22Sex
Figure 4.7 Specialization lattice for a
UNIVERSITY database.
Name
Address
PERSON
SSN
BirthDate
An entity may exist in several leaf nodes of the
hierarchye.g. GRADUATE_STUDENT RESEARCH
ASSISTANT
P1 P6P2 P7P3 P8P4 P9P5 P10
o
ALUMNUS
EMPLOYEE
STUDENT
Degrees
d
d
Year
Degree
Major
Percent Time
STUDENT_ ASSISTANT
GRADUATE_ STUDENT
UNDERGRADUATE_ STUDENT
STAFF
FACULTY
shared subclass multiple inheritance (inherited
only once)
Position
Rank
Class
DegreeProgram
d
leaf node
Project
Course
RESEARCH_ASSISTANT
TEACHING_ASSISTANT
A subclass inherits attributes of all its
predecessor superclasses
23Specialization/Generalizationin Conceptual Data
Modeling
- top-down conceptual refinement process
- a specialization process
- bottom-up conceptual synthesis
- a generalization process
- combination
24union type (or category)
- a single superclass vs. more than one superclass
- ENGINEERING_MANAGER is a subclass in three
distinct superclass/subclass relationship
(4-21) - Each has single superclass
- union type or category
- model a single superclass/subclass relationship
with more than one superclass - the subclass represents a collection of objects
that is (a subset of) the UNION of distinct
entity types - e.g., OWNER is a subclass of the UNION of
(COMPANY, BANK, PERSON)
25BName
BAddress
BANK
b1b2b3
Address
Name
SSN
CName
CAddress
c1c2
DriverLicenseNo
PERSON
COMPANY
P1P2P3P4
u
set union operation
P1P2b1c1
Figure 4.8 Two categories OWNER and
REGISTERED_VEHICLE.
OWNER
LienOrRegular
M
PurchaseDate
OWNS
N
LicensePlateNo
REGISTERED_VEHICLE
c1c2t1
CYear
TYear
u
CModel
TMake
CMake
setunionoperation
TModel
c1c2c3
CStyle
Tonnage
CAR
TRUCK
Vehicleld
Vehicleld
t1t2
26 category vs. shared subclass
Only cars trucks can be members of
REGISTERED_VEHICLE
Partial VEHICLE may contain other types of
entities
- intersection
- shared subclass (Fig. 4.6, 4-21)
- ENGINEERING_MANAGER is a subset of the
intersection of ENGINEER, MANAGER, and
SALARIED_EMPLOYEE - an engineering manager must be an ENGINEER, a
MANAGER, and a SALARIED_EMPLOYEE - ENGINEERING_MANAGER inherits all the attributes
of its superclasses - union
- category (Fig. 4.8, 4-25)
- OWNER is a subset of the union of COMPANY, a
BANK, or a person - an OWNER may be a COMPANY, a BANK, or a PERSON
- an OWNER entity inherits the attributes depending
on the superclass to which the entity belongs
Category VS.
generalized superclassREGISTERED_VEHICLE
VEHICLE(Fig. 4.8, 4.25)
(Fig. 4.3, 4-12)
27A category can be total or partial.
Figure 4.9 Categories. (a) Partial category
ACCOUNT_HOLDER that is a subset of the union
of two entity types COMPANY and PERSON. (b)
Total category PROPERTY and a similar
generalization.
(a)
COMPANY
PERSON
c1 c2c3c4
P1P2predicate conditions
C1
C2
u
partial
HAS_ ACCT
ACCOUNT_ HOLDER
c1 c2P1
BANK
(b)
specialization/generalization
LOT
BUILDING
PROPERTY
b1 b2b3
l1 l2
total
total category
d
u
total
b1 l1 b2 l2 b3
BUILDING
LOT
PROPERYT
28An Example UNIVERSITYEER Schema
29Sex
Ssn
BDate
FName
Minit
LName
No
Street
AptNo
City
State
Zip
PERSON
Name
Address
d
Salary
FOffice
Rank
FACULTY
FPhone
Class
1
N
ADVISOR
Degree
Year
College
STUDENT
Degrees
COMMITTEE
M
N
1
P1
GRAD_STUDENT
N
Title
No
GRANT
Agency
M
StDate
BELONGS
u
Start
M
1
SUPPORT
Time
N
CHAIRS
REGISTERED
N
MINOR
End
N
1
N
MAJOR
1
INSTRUCTOR_RESEARCHER
1
Grade
M
TRANSCRIPT
1
TEACH
N
N
CURRENT_SECTION
Sec
SECTION
Year
DEPARTMENT
Qtr
N
CS
DName
DPhone
Office
1
1
N
CD
DC
1
COLLEGE
COURSE
N
Dean
Cdesc
CName
C
COffice
CName
Figure 4.10 ERR conceptual schema for a
UNIVERSITY database
30Formal Definitions
- class
- a set or collection of entities, including any of
the EER schema constructs that group entities
such as entity types, subclasses, superclasses,
and categories - subclass S
- a class whose entities must always be a subset of
the entities in another class C (superclass) of
the superclass/subclass relationship C/S - S ? C
31Formal Definitions(continued)
- specialization Z S1, S2, , Sn)
- a set of subclasses that have the same superclass
G - G/Si is a superclass/subclass relationship
-
- generalization
- total partial
(otherwise) - disjoint overlapping (otherwise)
- predicate-defined user-defined
(otherwise) - a predicate p on the attributes of G is used to
specify which entries in G are members of S
generalized entity type
32Formal Definitions(continued)
- specialization Z (generalization G) is
attribute-defined - a predicate (Aci) is used to specify membership
in each subclass Si in Z - category T
- a class that is a subset of the union of n
defining superclasses D1, D2, , Dn - T ? (D1 ? D2 ? ? Dn)
- relationship type allow class to participate in
a relationship
attribute
33Conceptual Object Modeling Using UML Class
Diagrams
- UML - Universal Modeling Language
- OMT - Object Modeling Technique
34 Multipicities min..max ( no maximum
limit)(relationship constraints)
association(relationship types)
class
name
attributes
domain
compositeattributes
link attribute(relationship attribute)
operations
multivaluedattributeis modeleda class
role
role
qualifiedaggregation
reflexiveassociation(recursive relationship)
(identifyingrelationship)
a relationship between a whole object and its
component parts
35generalization / specialization
overlapping
disjoint
36Relationships of Higher Degree
- Relationship types of degree 2 are called binary
- Relationship types of degree 3 are called ternary
and of degree n are called n-ary - In general, an n-ary relationship is not
equivalent to n-binary relationships
37Ternary Relationship Types
ternary relationship
more informative
Three binary relationship types. They are not
equivalent to SUPPLY
(s,p), (j,p), (s,j) --?--gt (s, j, p)
lt----
owner
identifying relationship
owner
SUPPLY represented as a weak entity type
Some DB tools permit only binary relationship.
owner
38TAUGHT_DURING
Year
Semester
Sem_Year
IName
OFFERS
INSTRUCTOR
SEMESTER
CAN_TEACH
OFFERED_DURING
CNumber
COURSE
Another example of ternary versus binary
relationship types.
(i,s,c) -----gt (i,s), (s,c), (i,c)
lt--?-- (i,s), (s,c), (i,c) lt-----
(i,s), (s,c), (i,c) CAN_TEACH (11)
Name
CName
CCI
CANDIDATE
COMPANY
A weak entity type INTERVIEW, with a ternary
identifying relationship type.
Department
Date
Dept/Date
RESULTS_IN
JOB_OFFER
INTERVIEW
The weak entity type has two owner entity types.