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