\begin{frame}
\frametitle{Example: Books and Authors}
\booksexample
\pause\medskip
\only<2-15>{
\begin{itemize}\setlength{\itemsep}{0.3ex}
\item $\sql{isbn} \to \pause \sql{title}, \sql{publisher}$ \iremark{(ISBN uniquely identifies a book)}
\pause
\item $\sql{isbn} \to \sql{author}$ \;\;? \pause \iremark{\alert{Does not hold.}}
\pause
\item $\sql{author} \to \sql{title}$ \;\;? \pause \iremark{\alert{Does not hold in general.}}
\pause
\item $\sql{title} \to \pause \varnothing$ \iremark{(There may be books with the same title)}
\pause
\item $\sql{isbn}, \sql{no} \to \pause\sql{author}$
\pause
\item $\sql{isbn}, \sql{author} \to \sql{no}$ \;\;? \pause \iremark{\alert{questionable} (e.g. Smith \& Smith)}
\pause
\item $\sql{publisher}, \sql{title}, \sql{no} \to \sql{author}$ \;\;? \pause \iremark{\alert{questionable}}\vspace{-0.5ex}
\remark{Authorship sequence might change in a new edition of a book!}
\end{itemize}
}
\only<16>{
\bigskip
\begin{goal}{}
During database design, \emph{only unquestionable conditions should be used
as functional dependencies}.
\end{goal}
\begin{alertblock}{}
Database normalization \emph{alters the table structure} depending
on the specified functional dependencies.
\end{alertblock}
Later hard to change: needs creation/deletion of tables!
}
\vspace{10cm}
\end{frame}