Generalization in DBMS


  • A generalization hierarchy is a form of abstraction that specifies that two or more entities that share common attributes can be generalized into a higher level entity type called a supertype or generic entity.
  • The lower-level of entities become the subtype, or categories, to the supertype. Subtypes are dependent entities.
  • Generalization occurs when two or more entities represent categories of the same realworld object.
  • We can think of a reverse process of abstraction in which we suppress the differences among several entity types, identify their common features, and generalize them into a single superclass of which the original entity types are special subclasses
  • For example, Wages_Employees and Classified_Employees represent categories of the same entity, Employees. In this example, Employees would be the supertype; Wages_Employees and Classified_Employees would be the subtypes.
  • Subtypes can be either mutually exclusive (disjoint) or overlapping (inclusive). A mutually exclusive category is when an entity instance can be in only one category.
  • The above example is a mutually exclusive category. An employee can either be wages or classified but not both.
  • An overlapping category is when an entity instance may be in two or more subtypes.
  • An example would be a person who works for a university could also be a student at that same university.
  • The completeness constraint requires that all instances of the subtype be represented in the supertype.
  • Generalization hierarchies can be nested. That is, a subtype of one hierarchy can be a supertype of another.
  • The level of nesting is limited only by the constraint of simplicity. Subtype entities may be the parent entity in a relationship but not the child.