\begin{frame}
\frametitle{Splitting Relations}
\begin{goal}{}
If a table $R$ is not in BCNF, we can \emph{split} it into two tables.
\end{goal}
\pause
The violating FD determines how to split:
\begin{goal}{Table Decomposition}
If the FD $A_1, \dots, A_n \to B_1, \dots B_m$ violates BCNF:
\begin{itemize}
\item create a new relation $S (\underline{A_1}, \dots, \underline{A_n}, B_1, \dots, B_m)$ and
\item remove $B_1, \dots, B_m$ from the original relation $R$.
\end{itemize}
\end{goal}
\pause
\begin{exampleblock}{}
The table
\begin{tcenter}
$\sql{Courses(\underline{courseNr}, title, instructor, phone)}$
\end{tcenter}
violates BCNF because of $\sql{instructor} \to \sql{phone}$.
\pause\medskip
We split into:
\pause
\begin{tcenter}
$
\begin{array}{c}
\sql{Courses(\underline{courseNr}, title, instructor)} \\
\sql{Instructors(\underline{instructor}, phone)}%
\end{array}
$
\end{tcenter}
\end{exampleblock}
\end{frame}