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