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