230/291
\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}