62/224
\begin{frame}
  \frametitle{Query Formulation Traps}

  \begin{alertblock}{Typical mistakes}
  \begin{itemize}
  \medskip
  \item 
    \emph{Missing join conditions} (very common).
  \medskip
  \item 
    \emph{Unnecessary joins} (may slow query down significantly).
  \medskip
  \item 
    \emph{Self joins:} incorrect treatment of multiple variables 
    ranging over the same relation (\emph{missing (in)equality conditions}).
  \medskip
  \item 
    \emph{Unexpected duplicates}, often an indicator for faulty queries 
    (adding \sql{distinct} is no cure here).
  \medskip
  \item \emph{Unnecessary \sql{distinct}} (may slow query down).
  \medskip
  \end{itemize}
  \end{alertblock}  
\end{frame}

% \overview{2}

\theme{Non-Monotonic Queries}