% Лекция 2 (16.09.21) \section{Целостность данных} NULL нельзя ни с чем сравнивать, любая операция с NULL даёт в результате NULL. \textbf{Целостность} в реляционной базе данных означает правильность данных в любой момент времени. \textbf{Ограничения целостности} --- это некие правила позволяющие поддерживать целостность данных в каждый момент времени. Поддержание целостности базы данных может рассматриваться как защита данных от неверных изменений или разрушений (не путать с незаконными изменениями и разрушениями, являющимися проблемой безопасности). Современные СУБД имеют ряд средств для поддержания целостности. Выделяют три группы правил по целостности: \begin{itemize} \item Целостность по сущностям; \item Целостность по ссылкам (ограничения уровня БД); \item Целостность, определяемая пользователем (ограничения уровня атрибута) \end{itemize} \subsection{Целостность по сущностям} Так как потенциальные ключи фактически служат идентификаторами объектов предметной области, то значения этих идентификаторов не могут сожержать неизвестные значения. Это определяет следующее \emph{правило целостности сущностей}: атрибуты, входящие в состав некоторого потенциального ключа не могут принимать null-значений.