47/75
\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}