\begin{frame} \frametitle{Cardinalities and Constraints} \begin{quiz}{\textwidth}{} Which min/max cardinalities can be enforced and how? \begin{itemize} \smallskip \item A $0\sldots *$ to $0\sldots *$ B: \mpause[1]{yes}\\[-.5ex] \remark{\mpause{A separate relationship set table.}} \smallskip \item A $0\sldots 1$ to $0\sldots *$ B: \mpause{yes}\\[-.5ex] \remark{\mpause{Add key of A as foreign key to B.}} \smallskip \item A $1\sldots 1$ to $0\sldots *$ B: \mpause{yes}\\[-.5ex] \remark{\mpause{Add key of A as foreign key to B} \mpause{with constraint \sql{not null}.}} \smallskip \item A $0\sldots 1$ to $0\sldots 1$ B: \mpause{yes}\\[-.5ex] \remark{\mpause{Add key of A (or B) as foreign key to B (or A)} \mpause{with constraint \sql{unique}.}} \smallskip \item A $0\sldots 1$ to $1\sldots 1$ B: \mpause{yes}\\[-.5ex] \remark{\mpause{Add key of B as foreign key to A} \mpause{with constraints \sql{unique} \& \sql{not null}.}} \smallskip \item A $1\sldots 1$ to $1\sldots 1$ B: \mpause{yes}\\[-.5ex] \remark{\mpause{Join tables of A and B.}} \smallskip \item A $M\sldots N$ to $1\sldots *$ B: \mpause{no}\\[-.5ex] \remark{\mpause{% Workaround: approximate the cardinality limit $1\sldots *$ with $0 \sldots *$. }} \smallskip \end{itemize} \end{quiz} \end{frame}