It is a bottom-up approach in which two lower level entities combine to form higher entity. In generalization, the higher level entity can also combine with other lower level entity to make further higher level entity.
Generalization proceeds from the recognition that a number of entity sets share some common features. On the basis of the commonalities, generalization synthesizes these entity sets into a single, higher-level entity set.
Generalization is used to emphasize the similarities among lower-level entity sets and to hide the differences in the schema.
It is opposite to Generalization. It is a top-down approach in which one higher level entity can be broken down into lower level entity.
Example: The specialization of student allows us to distinguish among students according to whether they are Ex-Student or Current Student.
Specialization can be repeatedly applied to refine a design schema.
One limitation of the E-R model is that it cannot express relationships among relationships. To illustrate the need for such a construct, quaternary relationships are used which lead to redundancy in data storage.
The best way to mode such situations is to use aggregation.
Aggregation is an abstraction through which relationships are treated as higher-level entities.
Below is the example of aggregation relation between offer (which is binary relation between center and course) and visitor.