\begin{frame} \frametitle{Null Values: Advantages} \begin{goal}{} Without null values, it would be necessary to \textbf{split a relation} into many, more specific relations (``subclasses''). \end{goal} \begin{exampleblock}{Example} \begin{center} \sql{Students\_with\_address}, \quad \sql{Students\_without\_address} \end{center} \end{exampleblock} \begin{exampleblock}{Alternatively: introduce an additional relation with schema} \vspace{0.5ex} \begin{center} \sql{Students\_Address(sid, address)} \end{center} \vspace{-1ex} But this complicates queries: \remark{join operations are needed (upcoming).} \end{exampleblock} \medskip \pause \begin{alertblock}{} If null values are not allowed \begin{itemize} \item \emph{users} might invent \textbf{fake values} to fill the missing columns \end{itemize} \end{alertblock} \smallskip \begin{quiz}{\textwidth}{Fake values} Why are fake values a bad idea in database design? \end{quiz} \vspace{10cm} \end{frame}