\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}