8/77
\begin{frame}
  \frametitle{Data Types and Domains}
  
  \begin{block}{}
    Table entries are \textbf{values} that conform to some \textbf{data type}.    
  \end{block}
  \pause
  
  \begin{exampleblock}{Examples of SQL data types}
    \begin{itemize}
      \item \emph{strings}, e.g.
        \begin{itemize}
          \item \sql{varchar(n)} - strings of up to $n$ characters ({\footnotesize $n \le 65535$})
          \item \sql{(long)text} - strings up to 4GB
        \end{itemize}
      \item \emph{numbers}, e.g.
        \begin{itemize}
          \item \sql{bit}, \sql{int}, \sql{float}, \ldots
          \item \sql{numeric(p,s)} - decimal number \,
            \begin{tikzpicture}[thick,inner sep=.5mm,baseline=-2mm]
              \draw (0,0) to ++(0,-2mm) to node [above] {{\footnotesize $p-s$ digits}} ++(20mm,0mm) to ++(0,2mm);
              \node at (21mm,-2mm) {$.$};
              \draw (22mm,0) to ++(0,-2mm) to node [above] {{\footnotesize $s$ digits}} ++(15mm,0mm) to ++(0,2mm);
            \end{tikzpicture}
        \end{itemize}
      \item \emph{binary data}, e.g. \sql{blob}
      \item \emph{date and time}, e.g. \sql{date}, \sql{time}, \sql{datetime}, \sql{timestamp} \ldots
    \end{itemize}
  \end{exampleblock}
  
  Available data types depend on the database management system,
  and the supported version of the SQL standard.
\end{frame}