253/291
\begin{frame}
  \frametitle{Multivalued Dependencies}
  
  \begin{goal}{}
    Formally, $A \mvd B$ holds if:
    whenever two tuples agree on $A$, one can exchange their
    $B$ values and the resulting tuples are in the same table.
  \end{goal}
  \pause
  \begin{exampleblock}{}
    {\small
    Due to $\sql{employee} \mvd \sql{programmingLanguage}$ and the two table rows
    \begin{center}
    {\footnotesize\ttfamily
      \colorbox{rellight}{%
        \begin{tabular}{|r|r|r|}
          \hline
          \hd{\underline{employee}} & \hd{\underline{programmingLanguage}} &
          \hd{\underline{dbms}} 
          \\
          \hline
          John Smith  & C      & Oracle   \\
          John Smith  & C++    & MySQL      \\
          \hline
        \end{tabular}%
      }}  
    \end{center}
    the table must also contain the following rows
    \begin{center}
    {\footnotesize\ttfamily
      \colorbox{rellight}{%
        \begin{tabular}{|r|r|r|}
          \hline
          \hd{\underline{employee}} & \hd{\underline{programmingLanguage}} &
          \hd{\underline{dbms}} 
          \\
          \hline
          John Smith  & C++     & Oracle   \\
          John Smith  & C       & MySQL      \\
          \hline
        \end{tabular}%
      }}  
    \end{center}  
    }
  \end{exampleblock}
  \pause
  \begin{goal}{}
    This expresses the \emph{independence} of \sql{programmingLanguage}
    for a given \sql{employee} from the rest of the table columns.
  \end{goal}
\end{frame}