Chapter 4

advertisement
Chapter 4
Enhanced Entity-Relationship and
Object Modeling
Chapter 4
1
Subclasses, Superclasses &
Inheritance
• Subclass - Often an Entity has many
subgrouping which are meaningful and need to
be explicitly represented. These are called
subclasses.
• Superclass - Is the term used to describe the
Entity that contains a subclass(s).
• A member of a subclass is the SAME member
of its respective superclass with a specific role
and it inherits the superclass attributes.
Chapter 4
2
Specialization
• Specialization is the process of defining a
set of subclasses for an Entity type.
• It allows the establishment of specific
attributes for each subclass.
• It allows us to show additional relationships
between each subclass and other Entity
types or other subclasses.
Chapter 4
3
Fig 4.1 Page 77
Chapter 4
4
Generalization
• Generalization is the reverse process of
Specialization in which we identify their
common features, attributes and
relationships between different entities to
create a superclass entity.
Chapter 4
5
Figure 4.3 Page 79
Chapter 4
6
Constraints & Characteristics of
Specialization & Generalization
• Some subclasses are predicate-defined.
This a constraint on the subclass as all
members of this subclass MUST satisfy this
condition.
• When ALL subclasses are predicate-defined
then the specialization is called an
attribute-defined specialization.
Chapter 4
7
Figure 4.4 Page 80
Chapter 4
8
• Another way to determine membership is
called user-defined. This is when
membership in the subclass is determined
by the user. Therefore, it can not be
determined by evaluating an attribute.
Chapter 4
9
Specialization Constraints
• Disjointness - Is the constraint that
members of the superclass may belong to at
most one subclass of a specialization. If
this constraint is not present than the
members of the subclass may overlap.
• Completeness - Is the constraint that ALL
members of the superclass MUST
participate in the specialization.
Chapter 4
10
Fig 4.5 Page 82
Chapter 4
11
Possible Constraints on
Specialization
•
•
•
•
Disjoint, total
Disjoint, partial
Overlapping, total
Overlapping, partial
Chapter 4
12
Hierarchies & Lattices
• A Specialization Hierarchy is defined with the
constraint that all subclasses can only
participate in one class/subclass relationship.
(This restriction only applies to the entity
itself; not the elements that make up the
entity.)
• If a subclass can participate in more than one
class/subclass relationship than it is a
Specialization Lattice.
Chapter 4
13
Fig 4.6 Page 83
Chapter 4
14
Shared Subclasses/Multiple
Inheritance
• When you have a Specialization Lattice any
subclass which has two or more superclasses is
a shared subclass.
• These shared subclasses inherit ALL the
attributes of each of their respective
superclasses.
• This leads to the concept of multiple inheritance
since it inherits from all its superclasses.
Chapter 4
15
Fig 4.7 Page 84
Chapter 4
16
Utilizing Specialization &
Generalization in Modeling
• There are two approaches to using either
Specialization or Generalization to Model
the MiniWorld.
– Specialization uses top-down conceptual
refinement process which starts at the
superclass and then defines subclasses
– Generalization uses bottom-up conceptual
synthesis which starts with the subclasses and
using common elements create superclasses.
Chapter 4
17
Modeling Union Type Using
Catagories
• A category is defined as an entity that has
two or more superclasses that represent
distinct entity types. It is made up of a
subset of the union of its superclasses.
• These distinct entity types do not
OVERLAP so there is no shared subclass
that inherits ALL the attributes of its
superclasses.
Chapter 4
18
Figure 4.8
Chapter 4
19
Figure 4.9
Chapter 4
20
Conceptual Object Modeling
Using UML Class Diagrams
• UML - Universal Modeling Language
• Under UML Entity Types are modeled as
classes and an Entity in an ER diagram
corresponds to an object in UML.
Chapter 4
21
UML Notation
• UML classes have three sections:
– Top section which contains the class name
– Middle section which includes the attributes.
– Bottom section which includes the operations
that can be applied to these objects.
• The domain of an attribute may be specified
by placing a ‘:’ followed by the domain
name/description.
Chapter 4
22
UML Notation (con’t)
• Composite attributes are model as a
structured domain.
• A multivalued attribute will generally be
modeled as a separate class.
• Relationship types are called Associations
in UML and relationship instances are
called links which are shown as line.
Chapter 4
23
UML Notation (con’t)
• A relationship attribute is called a link
attribute and is placed in a box that is
connected to the association’s line by a
dashed line.
• Min, Max notation is used to specify
relationship constraints but are placed on
the opposite ends.
Chapter 4
24
A ternary relationship generally represents
more information than 3 binary relationships
Chapter 4
25
Chapter 4
26
A Weak Entity with a Terary
Identifying Relationship
Chapter 4
27
Download