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