Extended ER
Specialization / generalization
An idea of inheritance between different entity sets

We've got different kinds of people, let's say employees and students. They have a lot of attributes in common. Every person has an ID, a name and an address, but they also have some differences, like an employee has a salary and a student has a total number of credit.
We could also distinguish among employees between different kinds of employees. We have instructors and also secretaries. They all have salaries, IDs, names and addresses. This is like inheritance and object oriented models. But instructors have a rank, and secretaries have hours per week.
The notation here means that employees and students can overlap. There could be a person who's both an employee and a student. But instructors and secretaries are disjoint.
Aggregation
We might want to have a relationship between some entity set and another relationship set.

Suppose that I have a movie and a theater. The movie is being shown at that theater. I want to write reviews that are not just of the movie and not just of the theater, but of the theater screening of that movie.
What aggregation does is I can take this relationship set and all of the participating entity sets and put a box around it and then treat it as if it was an entity set.
Last updated