Лекция: Целостность данных

Целостность данных — это механизм поддержания соответствия базы данных предметной области. В реляционной модели данных определены два базовых требования обеспечения целостности:

ü целостность сущностей — каждый кортеж любого отношения должен отличатся от любого другого кортежа этого отношения (т.е. любое отношение должно обладать первичным ключом). Очевидно, что если данное требование не соблюдается (т.е. кортежи в рамках одного отношения не уникальны), то в базе данных может хранится противоречивая информация об одном и том же объекте. Поддержание целостности сущностей обеспечивается средствами системы управления базой данных (СУБД). Это осуществляется с помощью двух ограничений:

1. при добавлении записей в таблицу проверяется уникальность их первичных ключей;

2. не позволяется изменение значений атрибутов, входящих в первичный ключ.

ü целостность ссылок (ссылочная целостность).

Наряду с первичными ключами отношения имеют внешние ключи. Если отношение С связывает отношения А и В, то оно должно включать внешние ключи, соответствующие первичным ключам отношений А и В.

Условие ссылочной целостности ставит следующие проблемы проектирования БД:

ü возможно или невозможно появление во внешних ключах неопределенных значений (NULL-значения – значения атрибута для отсутствующей информации);

ü что произойдет при попытке удаления кортежей из отношения, на который ссылается внешний ключ. При этом существуют следующие возможности:

1. операция каскадируется — то есть удаление кортежей в отношении приводит к удалению соответствующих кортежей в связанном отношении;

2. операция ограничивается — то есть удаляются лишь те кортежи, для которых связанной информации в другом отношении нет. Если такая информация имеется, то удаление осуществлять нельзя.

ü что произойдет при попытке обновления первичного ключа отношения, на которое ссылается некоторый внешний ключ. При этом существуют следующие возможности:

1. операция каскадируется — то есть при обновлении первичного ключа происходит обновление внешнего ключа в связанном отношении;

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

еще рефераты
Еще работы по информатике