Quick Contact

    DBMS Generalization, Specialization, and Aggregation

    Abstraction is a simplification technique used to hide redundant information of a set of objects, and it allows one to focus on the properties which might be of interest to the applications.


    CAR is an abstraction of personal shipment and does not disclose information about the model, color, capacity, and so on.

    There are three main abstraction techniques utilized in model data:

    • Generalization
    • Specialization
    • Aggregation

    Generalization is the abstracting method of exploring sets of objects as a simple general class by applying on the general features of the component sets while containing or neglecting their differences. It is a union of several lower-level entity types for the goals of generating a higher-level entity type. Lower entities are also known as sub-types.


    Specialization is the abstracting method of suggesting new features to a current class of objects to generate one or more new classes of objects. This contains taking a higher-level entity and using additional features, making lower-level entities. The lower-level entities also inherit the features of the higher-level entity. Specialization can be identified as the reverse process of generalization.

    Both techniques are displayed in the figure

    ER Model Design Issues

    The entity-set EMPLOYEE is a generalization of entities sets FULL_TIME_EMPLOYEE and PART_TIME_EMPLOYEE. The FULL_TIME_EMPLOYEE is a generalization of entities sets faculty and staff; the PART_TIME_EMPLOYEE is a generalization of entity sets TEACHING and CASUAL. FACULTY and STAFF inherit the attribute Salary of the entity sets FULL_TIME_EMPLOYEE, and the latter, in turn, inherits the attribute of EMPLOYEE. FULL_TIME_EMPLOYEE is a specialization of the entities set EMPLOYEE and is the distinction by the additional attribute Salary. Generally, PART_TIME_EMPLOYEE is a specialization differentiated by the display of the attribute type.

    Generalization structure a hierarchy of entities and can be defined using a hierarchy of tables as display in the figure. Here the primary key of each entity corresponds to entities in specific tables and direct one to the perfect row of associated tables.

    ER Model Design Issues

    Another approach of defining a generalization hierarchy is to have the lowest level entities inherit the attributes of the entities of higher levels. The top and intermediate-level entities are not contained as only those of the lowest level are described in a tabular structure. For example, the attributes of the entity set FACULTY would be {Emp#, Name, Date_of_Hire, Salary, Degree, Subject_of_Interest} as display in the figure

    ER Model Design Issues

    One drawback of the Entity-Relationship Model is that it fails to represent relationships among sets or connections between a relationship set on one side and an entity on another side. Aggregation supports a solution in this case. Aggregation is an abstraction through which links are associated as higher-level entities, which can then take part in relationships with other entity sets or with different relationship sets.


    Suppose that we need to record managers for functions executed by an employee at a branch. Relationship sets works-on and manages to describe overlapping data. As a presence in the diagram, every ‘manages’ relationship correlates to a works-on relationship. Still, some works-on relationships won’t correlate to any manages relationships. So, we can’t eliminate this works-in relationship. Remove this redundancy through aggregation.

    ER Model Design Issues
    Treat the relationship as an abstract entity as display in the figure
    ER Model Design Issues
    Enroll Yourself in Live Training: DBMS Training

    Copyright 1999- Ducat Creative, All rights reserved.