
Quick Contact
DBMS Tutorial
- DBMS Tutorial
- What is Database Management System (DBMS)?
- Components of DBMS
- Applications of DBMS
- Three Schema DBMS Architecture
- Difference between DBMS and RDBMS?
- Difference between File Oriented System and DBMS
- Types of Data Models
- DBMS Schema and Instances
- Data Independence and Data Abstraction
- Database Users and Administrator
- DBMS Languages and Interfaces
DBMS ER Model
DBMS Relational Data Model
DBMS Normalization
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.
Example
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
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
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

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.

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

Aggregation
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.
Example
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.

Treat the relationship as an abstract entity as display in the figure

Apply now for Advanced DBMS Course