Правила ссылочной целостности(RI- Referential Integrity).

Для обеспечения целостности базы данных по ссылкам, то есть соответствия друг другу значений первичных и внешних ключей отношений (сущностей), можно задать логические правила, которые будут выполняться при выполнении операций добавления, удаления и редактирования записей. Эти правила можно прописать для каждой связи при помощи закладки Rolename/RI Action для того, чтобы система сгенерировала соответствующие триггеры. Триггеры – это программы, которые выполняются CУБД всякий раз при выполнении команд вставки, замены или удаления (INSERT, UPDATE, DELETE).

Например:

Две сущности Отдел и Сотрудник связаны идентифицирующей связью.

Предположим, удаляется запись из таблицы Отдел. В таблице Сотрудники записи с кодом удаленного отдела как бы «повисают в воздухе». По коду отдел невозможно идентифицировать, так удалена соответствующая запись в таблице Отдел. Сотрудники

оказываются без Отдела. Сотрудник не может существовать без Отдела, т.к. значение Null для атрибута Номер Отдела запрещено. Правила ссылочной целостности требуют создания правила, в соответствии с которым или нельзя удалять Отдел, пока в нем есть сотрудники, или удалять Отдел вместе с сотрудниками, которые к нему относятся. Такие правила удаления называются “ограничение(RESTRICT)” и “каскад(CASCADE)”.

Если мы зададим правило RESTRICT, то при попытке удаления сервер СУБД выдаст ошибку.

ERwin автоматически устанавливает правило ссылочной целостности для каждой связи по умолчанию, но эти правила по желаю разработчика могут быть изменены в режиме Model/Model Properties/RI Defaults.

 

 








Дата добавления: 2015-09-28; просмотров: 557;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.003 сек.