24/291
\begin{frame}
  \frametitle{Functional Dependencies are Partial Keys}

  \begin{block}{Functional dependencies are \emph{partial keys}}
    The functional dependency
    \begin{talign}
    A_1, \dots, A_n \to B_1, \dots, B_m
    \end{talign}
    holds for a relation $R$ if $\{\;A_1, \dots A_n\;\}$
    is a key for the relation obtained by restricting $R$ 
    to columns $\{\, A_1, \dots, A_n, B_1, \dots, B_m \,\}$.
  \end{block}  
  \pause
  
  \begin{exampleblock}{}
    The restriction of the table \sql{Courses} to $\{\;\sql{instructor},\sql{phone}\;\}$ is:
    \begin{center}
      \tablePhone
    \end{center}
    Here $\sql{instructor}$ is a key. So $\sql{instructor} \to \sql{phone}$ in \sql{Courses}.
  \end{exampleblock}
  \pause

  \begin{goal}{}
    The \emph{goal of database normalization is to turn FDs into keys}.\\
    \remark{The DBMS is then able to enforce the FDs for the user.} 
  \end{goal}
\end{frame}