27
Chapter 4 1 Chapter 4 Enhanced Entity- Relationship and Object Modeling

Chapter 41 Enhanced Entity-Relationship and Object Modeling

Embed Size (px)

Citation preview

Page 1: Chapter 41 Enhanced Entity-Relationship and Object Modeling

Chapter 4 1

Chapter 4

Enhanced Entity-Relationship and Object Modeling

Page 2: Chapter 41 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.

Page 3: Chapter 41 Enhanced Entity-Relationship and Object Modeling

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.

Page 4: Chapter 41 Enhanced Entity-Relationship and Object Modeling

Chapter 4 4

Fig 4.1 Page 77

Page 5: Chapter 41 Enhanced Entity-Relationship and Object Modeling

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.

Page 6: Chapter 41 Enhanced Entity-Relationship and Object Modeling

Chapter 4 6

Figure 4.3 Page 79

Page 7: Chapter 41 Enhanced Entity-Relationship and Object Modeling

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.

Page 8: Chapter 41 Enhanced Entity-Relationship and Object Modeling

Chapter 4 8

Figure 4.4 Page 80

Page 9: Chapter 41 Enhanced Entity-Relationship and Object Modeling

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.

Page 10: Chapter 41 Enhanced Entity-Relationship and Object Modeling

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.

Page 11: Chapter 41 Enhanced Entity-Relationship and Object Modeling

Chapter 4 11

Fig 4.5 Page 82

Page 12: Chapter 41 Enhanced Entity-Relationship and Object Modeling

Chapter 4 12

Possible Constraints on Specialization

• Disjoint, total

• Disjoint, partial

• Overlapping, total

• Overlapping, partial

Page 13: Chapter 41 Enhanced Entity-Relationship and Object Modeling

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.

Page 14: Chapter 41 Enhanced Entity-Relationship and Object Modeling

Chapter 4 14

Fig 4.6 Page 83

Page 15: Chapter 41 Enhanced Entity-Relationship and Object Modeling

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.

Page 16: Chapter 41 Enhanced Entity-Relationship and Object Modeling

Chapter 4 16

Fig 4.7 Page 84

Page 17: Chapter 41 Enhanced Entity-Relationship and Object Modeling

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.

Page 18: Chapter 41 Enhanced Entity-Relationship and Object Modeling

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.

Page 19: Chapter 41 Enhanced Entity-Relationship and Object Modeling

Chapter 4 19

Figure 4.8

Page 20: Chapter 41 Enhanced Entity-Relationship and Object Modeling

Chapter 4 20

Figure 4.9

Page 21: Chapter 41 Enhanced Entity-Relationship and Object Modeling

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.

Page 22: Chapter 41 Enhanced Entity-Relationship and Object Modeling

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.

Page 23: Chapter 41 Enhanced Entity-Relationship and Object Modeling

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.

Page 24: Chapter 41 Enhanced Entity-Relationship and Object Modeling

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.

Page 25: Chapter 41 Enhanced Entity-Relationship and Object Modeling

Chapter 4 25

A ternary relationship generally represents more information than 3 binary relationships

Page 26: Chapter 41 Enhanced Entity-Relationship and Object Modeling

Chapter 4 26

Page 27: Chapter 41 Enhanced Entity-Relationship and Object Modeling

Chapter 4 27

A Weak Entity with a Terary Identifying Relationship