blob: e7052abecbcf4a8019f9ffccc5ce597ee273a272 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
% Лекция 2 (16.09.21)
\section{Целостность данных}
NULL нельзя ни с чем сравнивать, любая операция с NULL даёт в результате NULL.
\textbf{Целостность} в реляционной базе данных означает правильность
данных в любой момент времени. \textbf{Ограничения целостности} --- это
некие правила позволяющие поддерживать целостность данных в каждый
момент времени. Поддержание целостности базы данных может
рассматриваться как защита данных от неверных изменений или разрушений
(не путать с незаконными изменениями и разрушениями, являющимися
проблемой безопасности). Современные СУБД имеют ряд средств для
поддержания целостности.
Выделяют три группы правил по целостности:
\begin{itemize}
\item Целостность по сущностям;
\item Целостность по ссылкам (ограничения уровня БД);
\item Целостность, определяемая пользователем (ограничения уровня атрибута)
\end{itemize}
\subsection{Целостность по сущностям}
Так как потенциальные ключи фактически служат идентификаторами объектов
предметной области, то значения этих идентификаторов не могут сожержать
неизвестные значения. Это определяет следующее \emph{правило целостности
сущностей}: атрибуты, входящие в состав некоторого потенциального ключа
не могут принимать null-значений.
|