\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}