50/296
\begin{frame}
  \frametitle{Functional Dependencies are Keys}

  \begin{block}{}
    \emph{Functional dependencies are partial keys.}
    \medskip
    
    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 the 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{INAME},\sql{PHONE}\;\}$ is:
    \begin{center}
    {\ttfamily\footnotesize\centering
    \colorbox{rellight}{%
      \begin{tabular}[t]{|r|c|}
        \multicolumn{2}{c}{COURSES} \\ \hline
        \hd{INAME} & \hd{PHONE} \\
        Grust & 7111 \\
        Klotz & 2418 \\
        \hline
      \end{tabular}%
    }}      
    \end{center}
    The attribute $\sql{INAME}$ is a key of this table.
  \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}