\begin{frame} \frametitle{Aggregation} \begin{exampleblock}{} \begin{center}\vspace{-4.7ex} \scalebox{.9}{ \begin{tikzpicture}[every edge/.style={link}] \node[entity] (employee) {employee}; \node[entity,right of=employee, node distance=6cm] (branch) {branch}; \node[entity,right of=employee, node distance=3cm,yshift=2cm] (job) {job}; \node[relationship,scale=.9,aspect=1.3] (works-on) at ($(employee)!.5!(branch)$) {works-on} edge (employee) edge (branch) edge (job); \node[entity,above of=employee, node distance=2cm,xshift=-2.5cm] (manager) {manager}; \node[relationship,scale=.9,aspect=1.3] (manages) at ($(manager)+(2.5cm,0cm)$) {manages}; \draw (manages) to (manager); \begin{scope}[thick] \draw (manages) to (employee); \draw (manages) to[out=45,in=90,looseness=1] (branch); \draw (manages) to (job); \end{scope} \end{tikzpicture}} \end{center} \end{exampleblock} \medskip \pause However, this design is \alert{not good}: \pause \begin{itemize} \item \emph{does not capture:} every \textit{manages} relationship corresponds to a \textit{works-on} relationship; \item %relationship set \textit{works-on} and \textit{manages} represent information is represented \emph{redundant/overlapping}; \item \emph{we cannot discard the \emph{works-on} relationship set:} some \textit{works-on} relationships may not correspond to any \textit{manages} relationship. \end{itemize} \pause\vspace{-.5ex} \begin{goal}{} The solution is to eliminate redundancy using \emph{aggregation}! \end{goal} \vspace{10cm} \end{frame}