Upload
archibald-anthony
View
229
Download
5
Tags:
Embed Size (px)
Citation preview
Chapter 4 1
Chapter 4
Enhanced Entity-Relationship and Object Modeling
Chapter 4 2
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 3
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 4
Fig 4.1 Page 77
Chapter 4 5
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 6
Figure 4.3 Page 79
Chapter 4 7
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 8
Figure 4.4 Page 80
Chapter 4 9
• 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 10
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 11
Fig 4.5 Page 82
Chapter 4 12
Possible Constraints on Specialization
• Disjoint, total
• Disjoint, partial
• Overlapping, total
• Overlapping, partial
Chapter 4 13
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 14
Fig 4.6 Page 83
Chapter 4 15
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 16
Fig 4.7 Page 84
Chapter 4 17
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 18
Modeling Union Type UsingCatagories
• 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 19
Figure 4.8
Chapter 4 20
Figure 4.9
Chapter 4 21
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 22
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 23
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 24
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 25
A ternary relationship generally represents more information than 3 binary relationships
Chapter 4 26
Chapter 4 27
A Weak Entity with a Terary Identifying Relationship