Specialization and Generalization
Abstraction; Hierarchies; Refinement
Specialization and generalization are main principles of database modeling. Specialization is based on a refinement of types or classes to more specific ones. Generalization maps or groups types or classes to more abstract or combined ones. Typically, generalizations and specializations form a hierarchy of types and classes.
Specialization introduces a new entity type by adding specific properties belonging to that type, which are different from the general properties of its more general type. Is-A associations specialize a type to a more specific one. Is-A-Role-Of associations consider a specific behavior of objects. Is-More-Specific-To associations specialize properties of objects of the more general type. The student type and the customer type are specializations of the person type. The rectangle type is specialized to the squaretype by adding restrictions. Different kinds of specialization may be distinguished:...