7/82
\begin{frame}
  \frametitle{How to Talk to a Database?}
  
  \begin{goal}{}
    \emph{Database application programming:}
    how to access a database from an application?
    
    \begin{itemize}
    \medskip\pause
      \item \emph{Static} embedded queries
        \begin{itemize}
          \item e.g. SQLJ, Embedded SQL (C/C++)
          \item preprocessor-based, static SQL
        \end{itemize}
    \medskip\pause
      \item \emph{Dynamic}
        \begin{itemize}
          \item e.g. JDBC, ODBC, OLE DB, Python DB-API,\ldots
        \end{itemize}
    \medskip\pause
      \item \emph{Object Relational Mappings (ORM)}, and beyond
        \begin{itemize}
          \item hide navigational access behind objects
          \item e.g. JPA/Hibernate, RubyOnRails, ADO.NET/LinQ
        \end{itemize}
    \medskip
    \end{itemize}
  \end{goal}
\end{frame}