\begin{frame}
\frametitle{3NF Synthesis Algorithm: Example}
\begin{exampleblock}{}{}
Use the 3NF synthesis algorithm to normalise the relation
\begin{talign}
R(A,B,C,D,E,F)
\end{talign}
with the following canonical functional dependencies:
\begin{talign}
A &\to D &
B &\to C &
B &\to D &
D &\to E
\end{talign}\vspace{-3ex}
\begin{enumerate}
\pause
\item We already have a \emph{canonical} set of FDs $\mathcal{F}$.
\pause
\item We \textbf{merge} $B \to C$ and $B \to D$ to $B \to C,D$, yielding:\vspace{-.5ex}
\begin{talign}
A &\to D &
B &\to C,D &
D &\to E
\end{talign}
\pause
\item
We \emph{create a relation} for every functional dependency:\vspace{-.5ex}
\begin{talign}
R_1(A, D) &&
R_2(B, C,D) &&
R_3(D, E)
\end{talign}
\pause
\item Does one of these relations contains a \emph{key of $R$}? \\ \pause
No, so we add a relation with a minimal key of $R$:\vspace{-.5ex}
\begin{talign}
R_1(A, D) &&
R_2(B, C,D) &&
R_3(D, E) &&
R_4(A,B,F)
\end{talign}
\pause
\item \emph{Nothing to drop}, no relation subsumes another.
\end{enumerate}
% AD BCD DE and ABF to have a key
\end{exampleblock}
\end{frame}