\begin{frame} \frametitle{IS-A, `Inheritance'} \vspace{-.5ex} \begin{goal}{\emph{Membership} constraints} \begin{itemize} \item \begin{minipage}[t]{.66\textwidth} \emph{value-based}: assigns an entity to a specific subclass based on attribute values\\ \hint{e.g. a \textit{person} of age $\ge$ 18 is an \textit{adult}} \end{minipage}~% \begin{minipage}[t]{.25\textwidth}\vspace{-3ex} \hspace{1cm}\scalebox{.9}{{\small% \begin{tikzpicture}[baseline=0ex,every edge/.style={link},node distance=12mm,>=triangle 45] \node[isa,scale=.7] (R) {ISA}; \node (l) [above of=R,node distance=9mm] {}; \draw [=] (R) -- (l); \node (r) [below of=R,node distance=7mm] {}; \draw [-] (R) -- node[right,align=center,pos=.9] {\textit{age}\\[-.5ex] $\ge$ 18} (r); \end{tikzpicture}% }} \end{minipage}\vspace{-0ex} \item default is \emph{user-defined}: manual assignment to subclasses \end{itemize} \end{goal} \pause \vspace{-.75ex} \begin{goal}{\emph{Disjointness} constraints} \begin{itemize} \item \begin{minipage}[t]{.66\textwidth} \emph{disjoint}: an entity can belong to at most one subclass; \hint{e.g. a \textit{fruit} can be an \textit{apple} or a \textit{pear}, but not both} \end{minipage}~% \begin{minipage}[t]{.25\textwidth}\vspace{-3ex} \hspace{.8cm}\scalebox{.9}{{\small% \begin{tikzpicture}[baseline=0ex,every edge/.style={link},node distance=12mm,>=triangle 45] \node[isa,scale=.7] (R) {ISA}; \node (l) [above of=R,node distance=9mm] {}; \draw [=] (R) -- (l); \node (r) [below of=R,node distance=7mm] {}; \draw [-] (R) -- node[right,pos=.7] {disjoint} (r); \end{tikzpicture}% }} \end{minipage} \item default is \emph{overlapping}: can belong to multiple subclasses \end{itemize} \end{goal} \pause \vspace{-.75ex} \begin{goal}{\emph{Completeness} constraints} \begin{itemize} \item \begin{minipage}[t]{.66\textwidth} \emph{total specialisation (generalisation)} constraint: each superclass entity must belong to a subclass; \hint{e.g. a \textit{person} is either a \textit{minor} or an \textit{adult}} \end{minipage}~% \begin{minipage}[t]{.25\textwidth}\vspace{-3ex} \hspace{1cm}\scalebox{.9}{{\small% \begin{tikzpicture}[baseline=0ex,every edge/.style={link},node distance=12mm,>=triangle 45] \node[isa,scale=.7] (R) {ISA}; \node (l) [above of=R,node distance=9mm] {}; \draw [-,double,double distance=1] (R) -- (l); \node (r) [below of=R,node distance=7mm] {}; \draw [-] (R) -- (r); \end{tikzpicture}% }} \end{minipage} % \vspace{.1ex} % \item default is \emph{partial specialisation (generalisation)}: % entities of the superclass may not belong to any subclass \end{itemize} \end{goal} \end{frame}