153/291
\begin{frame}
  \frametitle{Boyce-Codd Normal Form}
  
  \vspace{-.5ex}
  \begin{block}{}
    A relation $R$ is in \emph{Boyce-Codd Normal Form (BCNF)} \\
    if all its functional dependencies are implied by its keys.
    \smallskip
  
    That is, for every FD $A_1, \dots, A_n \to B_1, \dots, B_m$ of $R$ we have:
    \begin{itemize}
      \item 
        $\{\, A_1, \dots, A_n \,\}$ contains a key of $R$, or
      \item 
        the FD is trivial (that is, $\{\,B_1,\dots,B_m\,\} \subseteq \{\,A_1, \dots, A_n\,\}$)
    \end{itemize}
  \end{block}
  \pause

  \begin{exampleblock}{}
    \raggedright
    The relation
    \begin{tcenter}
      \sql{Courses(\underline{courseNr}, title, instructor, phone)}
    \end{tcenter}
    with the FDs
    \begin{tcenter}
      $
      \begin{array}{rcl}
        \sql{courseNr}   & \to & \sql{title}, \sql{instructor}, \sql{phone} \\
        \sql{instructor} & \to & \sql{phone}
      \end{array}
      $      
    \end{tcenter}
    \pause
    is \emph{not in BCNF} because of the FD $\sql{instructor} \to \sql{phone}$:
    \begin{itemize}
      \item $\{\, \sql{instructor} \,\}$ contains no key, and
      \item the functional dependency is not trivial.
    \end{itemize}
    \pause
    However, the relation \sql{Courses(\underline{courseNr}, title, instructor)} 
    without \sql{phone} is in BCNF.
  \end{exampleblock}
\end{frame}