Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Управление данными (пособие).pdf
Скачиваний:
280
Добавлен:
21.05.2015
Размер:
5.42 Mб
Скачать

9.Ограничения целостности в реляционной модели

Как уже говорилось, реляционная модель включает в себя три составные части. Это – описание структуры данных, описание операций, которые могут выполняться над данными, и ограничения целостности данных. Первые две компоненты были рассмотрены выше в разделах 6 и 7, соответственно. В данном разделе рассмотрим третью составляющую модели – ограничения целостности.

Очевидно, что база данных представляет для пользователя какую-либо ценность до тех пор, пока хранимые в ней данные будут правильными, то есть будут корректно отражать информацию о соответствующей предметной области. В связи с этим, в СУБД желательно наличие средств, позволяющих контролировать корректность хранимых данных. Должно быть также понятно, что для того, чтобы можно было осуществлять проверку корректности данных, в системе необходимо наличие дополнительной информации, указывающей, какие данные считать правильными, а какие нет. В реляционной модели такого рода информация указывается в ограничениях целостности данных.

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

Любое ограничение целостности является семантическим понятием, т.е. относится к смыслу, а не форме представления данных. Оно отражает определенные свойства объектов-сущностей предметной области, информация о которых не может быть получена из анализа самих хранимых в базе значений данных. Например, из анализа фактически присутствующих в отношении значений атрибута нельзя сделать вывод о том, какие значения должны считаться правильными. То, что, например, значение атрибута Возраст не может быть отрицательным числом, является внешним ограничением, накладываемым на значения атрибута исходя из семантики (смысла) предметной области.

Говорят, что база данных находится в согласованном или целостном состоянии, если все находящиеся в ней данные удовлетворяют заданным для этой базы данных ограничениям целостности данных.

Следует обратить внимание, что для самой базы данных, для СУБД ограничения целостности являются формальным свойством, одним из видов хранимой в базе информации о предметной области. СУБД не понимает смысла

80

данных. Имеющая средства поддержки ограничений целостности СУБД реализует проверку и обеспечение согласованности и целостности хранимых данных лишь в той мере, в которой эти данные удовлетворяют заданным в системе ограничениям целостности. Поэтому более точно следует говорить, что СУБД обеспечивает не целостность или согласованность данных вообще, а выполнение заданных в базе данных ограничений целостность данных.

Проблема обеспечения целостности базы данных усложняется тем, что данные в ней не являются зафиксированными, неизменными, а напротив могут изменяться во времени. Вследствие этого, с ограничениями целостности должен быть связан набор правил и определенных действий, которые должны выполняться при модификации данных, для того, чтобы в процессе работы с базой данных обеспечивалась корректность хранимых в ней данных. Другими словами, чтобы любые действия по модификации данных переводили базу данных из одного целостного (согласованного) состояния в другое целостное состояние. В связи с этим возникает понятие реакции системы на попытку нарушения целостности данных. При этом возможны два варианта реакции системы: можно отвергнуть попытку нарушения целостности, а можно выполнить какие-либо действия, компенсирующие нарушение целостности.

Действия системы по проверке ограничений целостности можно представить в следующем виде (рисунок 9.1).

Пользователь

 

 

 

 

 

 

 

 

 

Попытка выполнить операцию

 

 

 

 

или

 

 

 

 

 

 

 

 

 

 

приложение

 

 

 

 

 

 

 

 

 

(INSERT, UPDATE, DELETE)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ограничения

Проверка

Ограничения

ограничений

нарушаются

 

не нарушаются

Сообщение об отказе

операции

Операция

выполняется

Операция

Операция выполняется.

Дополнительно выполняются

отвергается

компенсирующие операции

 

Рис. 9.1. Работа системы по проверке ограничений целостности

Очевидно, что реакция системы в случае осуществления действий по модификации данных в большой степени зависит от вида затрагиваемых этими действиями ограничений целостности.

В зависимости от области действия ограничений целостности их можно разделить следующим образом:

ограничения целостности уровня атрибута,