\begin{frame} \frametitle{IS-A, `Inheritance'} \begin{minipage}{.4\textwidth} \begin{center} \scalebox{.8}{\hspace*{-3ex} \begin{tikzpicture}[every edge/.style={link},d/.style={node distance=1cm}] \node[entity] (A) {person}; \node[attribute,above of=A,d,xshift=-1.2cm] (name) {name} edge (person); \node[attribute,above of=A,d,xshift=1.2cm] (address) {address} edge (person); \node[entity,at=(A),shift={(-1.5cm,-2.4cm)}] (B) {employee}; \node[attribute,above of=B,node distance=1.2cm,xshift=-.2cm] (salary) {salary} edge (employee); \node[entity,at=(A),shift={(1.5cm,-2.4cm)}] (C) {customer}; \node[isa,at=(person),shift={(0cm,-0.8cm)}] {ISA} edge (A) edge (B) edge (C); \end{tikzpicture} } \end{center} \end{minipage} \begin{minipage}{.59\textwidth} \begin{goal}{} Lower-level entity sets are subgroups of the of higher-level entity sets: \begin{itemize} \item e.g. an employee `is a' person \end{itemize} \end{goal} \pause \begin{block}{} Lower-level entity sets \emph{inherit all attributes and relationship sets} of the higher-level entity sets. \begin{itemize} \item e.g. an employee has attributes \textit{name}, \textit{address} and \textit{salary} \end{itemize} \end{block} \end{minipage} \pause \alt<-3>{ \begin{goal}{Design Principle: Specialisation} \begin{itemize} \item top-down design process \item identify subgroups within an entity set \item these subgroups become lower-level entity sets which may have attributes or participate in relationship sets that do not apply to the higher-level entity sets \end{itemize} \end{goal} }{ \begin{goal}{Design Principle: Generalisation} \begin{itemize} \item bottom-up design process \item combine a number of entity sets that share common features into a higher-level entity set \end{itemize} \end{goal} \begin{itemize} \item specialisation and generalisation are both `is a'-relations \end{itemize} } \pause \vspace{10cm} \end{frame}