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