Q. Explain data aggregation and discuss different design constraints.
Sol. Aggregation One limitation of the E-R model is that it cannot express relationships among relationships. To illustrate the need for such a construct consider the ternary relationships works on which we will see between a employee, branch and job (see figure). Now, suppose we want to record managers for tasks performed by an employee at a branch that is we want to record managers for (employee branch job) combinations. Let us assume that there is an entity set manager. One alternative for representing these relationships is to create a quaternary relationship manages between employee, branch, job and manager (A quaternary relationships required a binary relationship between manager and employee would not permit us to represent which (branch, job) combinations of an employee are managed by which manager.) Using the basic E R modeling constructs we obtain the E R diagram of given figure. It appears that the relationship sets works on and manages can be combined into one single relationship set. Nevertheless we should not combine them into a single relationship since some employee; branch job combinations may not have a manager. There is redundant information in the resultant figure however since every employee; branch job combination it manages is also in works on. If the managers were a value rather than manager entity we could instead make manager a multivalued attribute of the relationship works on. But doing so makes it more difficult to find for example employee branch job triples for which a manager is responsible. Since the manager is manager entity this alternative is ruled out in any case. The best way to model a situation such as the just described is to use aggregation. Aggregation is an abstraction through which relationship are treated as higher level entities. Thus for our example we regard the relationship set works on as a higher level entity set called works on. Such an entity set is treated in the same manager between works on and manager to represent who manages what tasks. Figure shows a notation for aggregation commonly used to represent the above situation.