% Лекция 2 (16.09.21)
\section{Целостность данных}

NULL нельзя ни с чем сравнивать, любая операция с NULL даёт в результате NULL.

\textbf{Целостность} в реляционной базе данных означает правильность
данных в любой момент времени. \textbf{Ограничения целостности} --- это
некие правила позволяющие поддерживать целостность данных в каждый
момент времени. Поддержание целостности базы данных может
рассматриваться как защита данных от неверных изменений или разрушений
(не путать с незаконными изменениями и разрушениями, являющимися
проблемой безопасности). Современные СУБД имеют ряд средств для
поддержания целостности.

Выделяют три группы правил по целостности:

\begin{itemize}
  \item Целостность по сущностям;
  \item Целостность по ссылкам (ограничения уровня БД);
  \item Целостность, определяемая пользователем (ограничения уровня атрибута)
\end{itemize}

\subsection{Целостность по сущностям}

Так как потенциальные ключи фактически служат идентификаторами объектов
предметной области, то значения этих идентификаторов не могут сожержать
неизвестные значения. Это определяет следующее \emph{правило целостности
сущностей}: атрибуты, входящие в состав некоторого потенциального ключа
не могут принимать null-значений.
