Home | | Database Management Systems | | FUNDAMENTALS OF Database Systems | | Database Management Systems | Example of Other Notation: Representing Specialization and Generalization in UML Class Diagrams

Chapter: Fundamentals of Database Systems - Conceptual Modeling and Database Design - The Enhanced Entity-Relationship (EER) Model

| Study Material, Lecturing Notes, Assignment, Reference, Wiki description explanation, brief detail |

Example of Other Notation: Representing Specialization and Generalization in UML Class Diagrams

We now discuss the UML notation for generalization/specialization and inheritance.

Example of Other Notation: Representing Specialization and Generalization in UML Class Diagrams

 

We now discuss the UML notation for generalization/specialization and inheritance. We already presented basic UML class diagram notation and terminology in Section 7.8. Figure 8.10 illustrates a possible UML class diagram corresponding to the EER diagram in Figure 8.7. The basic notation for specialization/generalization (see Figure 8.10) is to connect the subclasses by vertical lines to a horizontal line, which has a triangle connecting the horizontal line through another vertical line to the superclass. A blank triangle indicates a specialization/generalization with the disjoint constraint, and a filled triangle indicates an overlapping constraint. The root superclass is called the base class, and the subclasses (leaf nodes) are called leaf classes.

 

The above discussion and example in Figure 8.10, and the presentation in Section 7.8 gave a brief overview of UML class diagrams and terminology. We focused on the concepts that are relevant to ER and EER database modeling, rather than those concepts that are more relevant to software engineering. In UML, there are many details that we have not discussed because they are outside the scope of this book and are mainly relevant to software engineering. For example, classes can be of various types:

 

        Abstract classes define attributes and operations but do not have objects cor-responding to those classes. These are mainly used to specify a set of attrib-utes and operations that can be inherited.

 

        Concrete classes can have objects (entities) instantiated to belong to the class.

 

Template classes specify a template that can be further used to define other classes.



In database design, we are mainly concerned with specifying concrete classes whose collections of objects are permanently (or persistently) stored in the database. The bibliographic notes at the end of this chapter give some references to books that describe complete details of UML. Additional material related to UML is covered in Chapter 10.


Study Material, Lecturing Notes, Assignment, Reference, Wiki description explanation, brief detail


Copyright © 2018-2020 BrainKart.com; All Rights Reserved. Developed by Therithal info, Chennai.