double arrow

Ограничение целостности

4

Лекция 17

Целостность (integrity – точность, истинность) данных предполагает корректное выполнение действий, разрешенных пользователям. Обычно ограничения целостности применяются для описания базовых отношений. Производные отношения автоматически наследуют некоторые ограничения целостности отношений, из которых они выведены. Однако для произвольных отношений, кроме автоматически наследуемых ограничений могут быть заданы также некоторые дополнительные ограничения целостности.

Если база данных находится в состоянии целостности, то это означает ее корректность, т.е. отсутствие нарушений всех известных ограничений. Аспекты целостности необходимо учитывать как при проектировании базы данных, так и во время ее использования. Ограничения целостности, как и правила безопасности, хранятся в системном каталоге. Они приводятся в действие подсистемой целостности СУБД, которая отвечает за отслеживание выполняемых пользователем операций (insert, update, delete) и гарантирует выполнение только тех, которые не нарушают известных системе ограничений.

Ограничения целостности в общем виде содержат три компонента:

Create integrity rule имя

ограничение

[on attempted violation действие ];

Параметр имя является именем данного ограничения, которое регистрируется в системном каталоге. Ограничения целостности всегда проверяются немедленно при каждой операции обновления.

Ограничение – выражение, которому должно удовлетворять ограничение целостности. Ограничение целостности удовлетворяется тогда и только тогда, когда это выражение истинно, а нарушается, если это выражение ложно.

Директива onattempted violation -реакция на нарушение, указывает системе те действия, которые необходимо выполнитьпри попытке пользователя нарушить ограничение целостности.

Ограничения целостности можно классифицировать по следующим категориям:

· ограничения домена – задаются допустимые значения данного домена;

· ограничения атрибута – задаются допустимые значения для данного атрибута;

· ограничения таблицы – задаются допустимые значения для данного отношения; как правило, ограничения таблицы ограничивают значения, которые могут быть в записях таблицы;

· целостность по ссылкам – предполагает обеспечение целостности отношений потомок/ предок, которые поддерживаются первичными и внешними ключами;

· ограничения базы данных (деловые правила или утверждения) – задают допустимые значения для всей базы данных и связывают в различных выражениях значения столбцов из разных таблиц базы данных.

В стандарте SQL ограничения целостности обычно делятся на три категории:

· ограничения домена;

· ограничения базовой таблицы;

· общие ограничения – «утверждения».

Общие ограничения в SQL создаются с помощью утверждения create assertion

4

Сейчас читают про: