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

\begin{block}{}
Functional dependencies are a \emph{generalisation of keys}.
\begin{talign}
\begin{array}{c}
A_1, \dots, A_n \text{\ \ is a key of relation\ \ } R(A_1,\dots,A_n,B_1,\dots,B_m)  \\
\iff \\
\text{the functional dependency } A_1, \dots, A_n \to B_1, \dots B_m \text{ \ holds.}
\end{array}
\end{talign}
\end{block}
\pause

\begin{exampleblock}{}
\begin{center}
{\ttfamily\footnotesize\centering
\colorbox{rellight}{%
\begin{tabular}[t]{|r|r|r|c|}
\multicolumn{4}{c}{COURSES} \\ \hline
\hd{\underline{CRN}} & \hd{TITLE} & \hd{INAME} & \hd{PHONE} \\
22268 & Databases I            & Grust & 7111 \\
42232 & Functional Programming & Grust & 7111 \\
31822 & Graph Theory           & Klotz & 2418 \\
\hline
\end{tabular}%
}}
\end{center}
Here $\sql{CRN} \to \sql{TITLE},\;\sql{INAME},\;\sql{PHONE}$.
\end{exampleblock}
%   \begin{itemize}
%   \item Given the FDs for a relation $R$, one can \emph{derive a key
%       for $R$,} \emph{i.e.}, a set of attributes $A_1, \dots, A_n$ that
%       functionally determines the other attributes of $R$ (see below).
%   \end{itemize}
\end{frame}