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}