Под целостностью понимают правильность данных в любой момент времени.
Такая цель может достигаться только в определенных рамках: системой управления базами данных не может контролироваться правильность каждого отдельного значения, которое вводится в базу данных (вместе с тем каждое значение может быть проверено на правдоподобность). К примеру, невозможно обнаружить, что значение 6, которое вводится и представляет номер дня недели, на самом деле должно быть равно 2. Вместе с тем значение 8 явно будет ошибочным и система управления базой данных должна его отвергнуть. Для этого СУБД необходимо сообщить, что номера дней недели должны быть из набора 1, 2, 3, 4, 5, 6, 7.
Поддержание целостности базы данных необходимо для обеспечения защиты данных от ошибочных изменений или разрушений (не стоит смешивать с незаконным изменением и разрушением, которые являются проблемой безопасности).
В современных системах управления БД имеется набор средств, которые позволяют обеспечить поддержание целостности (средства обеспечения поддержания безопасности также имеются).
Принято выделять 3 группы правил целостности.
Целостность по сущностям.
Недопустимо, чтобы любой атрибут, который участвует в первичном ключе, мог принимать неопределенное значение.
Целостность по ссылкам.
Внешний ключ должен иметь значение, которое должно или:
быть равным значению первичного ключа характеризуемой (ассоциируемой) сущности;
быть полностью неопределенным, то есть неопределенным должно быть каждое значение атрибута, которое участвует во внешнем ключе.
Целостность, которая определяется пользователем.
Для любой определенной базы данных обычно существует набор дополнительных специфических правил, относящихся только к ней одной и определяющихся разработчиком. При этом зачастую контролю подлежит:
Использование модели «сущность-связь» также полезно для понимания и спецификации ограничений, которые направлены на поддержание целостности данных.
Ограничения целостности являются ограничениями, не позволяющими базе данных переходить в некорректное состояние.
Ограничения целостности могут распространяться на домены и атрибуты, связи, сущности и базу данных в целом.
Модель содержит 3 типа ограничений на значения:
Ограничение на допустимые значения из набора значений (домена) – самый распространенный вариант.
Доменом называют область определения атрибута, которую можно задать с помощью непрерывного либо дискретного интервала, или фиксированного списка значений.
Виды:
Ограничение на разрешенные значения у каждого атрибута. К примеру, возраст сотрудников можно ограничить интервалом от 21 до 70 лет.